Re: Кто должен разрабатывать логические схемы терминалов РЗА Sepam?
Аналог вашего примера:
// Generated by ......_COMP (Sep 13 20....)
// .........., 1998-2003
// Version for QNX6, 2004
#ifndef _aro_out_HPP
#define _aro_out_HPP
#include "/alex/qnx6/..../alg/lib/sh_plc.h"
#include "/alex/qnx6/..../alg/lib/alg_abstract.h"
#include "rag7.hpp"
class ARO_OUT : public TAlgorithm
{
public: //! VAR_INPUT
SH_BOOL DirP_1;
SH_DINT N1;
SH_BOOL DirP_2;
SH_DINT N2;
SH_DINT LF_1_;
SH_DINT LF_2_;
SH_DINT LF_3_;
SH_DINT LF_4_;
SH_DINT LF_5_;
SH_DINT LF_6_;
SH_DINT LF_7_;
SH_DINT LR_1_;
SH_DINT LR_2_;
SH_DINT LR_3_;
SH_DINT LR_4_;
SH_DINT LR_5_;
SH_DINT LR_6_;
SH_DINT LR_7_;
public: //! VAR_OUTPUT
SH_BOOL YF1;
SH_BOOL YF2;
SH_BOOL YF3;
SH_BOOL YF4;
SH_BOOL YF5;
SH_BOOL YF6;
SH_BOOL YF7;
SH_BOOL YR1;
SH_BOOL YR2;
SH_BOOL YR3;
SH_BOOL YR4;
SH_BOOL YR5;
SH_BOOL YR6;
SH_BOOL YR7;
SH_BOOL Y1;
SH_BOOL Y2;
SH_BOOL Y3;
SH_BOOL Y4;
SH_BOOL Y5;
SH_BOOL Y6;
SH_BOOL Y7;
public: //! VAR_TEMP
SH_BOOL d;
public: //! VAR
RAG7 V1;
RAG7 V2;
RAG7 V3;
RAG7 V4;
RAG7 V5;
RAG7 V6;
RAG7 V7;
public:
ARO_OUT ( UWORD id = 0, char *name = NULL ) //! CONSTRUCTOR
: TAlgorithm( id, name )
{
START_INIT_PINS;
ADD_OUTPUT( 0, YF1, SH_BOOL );
ADD_OUTPUT( 1, YF2, SH_BOOL );
ADD_OUTPUT( 2, YF3, SH_BOOL );
ADD_OUTPUT( 3, YF4, SH_BOOL );
ADD_OUTPUT( 4, YF5, SH_BOOL );
ADD_OUTPUT( 5, YF6, SH_BOOL );
ADD_OUTPUT( 6, YF7, SH_BOOL );
ADD_OUTPUT( 7, YR1, SH_BOOL );
ADD_OUTPUT( 8, YR2, SH_BOOL );
ADD_OUTPUT( 9, YR3, SH_BOOL );
ADD_OUTPUT( 10, YR4, SH_BOOL );
ADD_OUTPUT( 11, YR5, SH_BOOL );
ADD_OUTPUT( 12, YR6, SH_BOOL );
ADD_OUTPUT( 13, YR7, SH_BOOL );
ADD_OUTPUT( 14, Y1, SH_BOOL );
ADD_OUTPUT( 15, Y2, SH_BOOL );
ADD_OUTPUT( 16, Y3, SH_BOOL );
ADD_OUTPUT( 17, Y4, SH_BOOL );
ADD_OUTPUT( 18, Y5, SH_BOOL );
ADD_OUTPUT( 19, Y6, SH_BOOL );
ADD_OUTPUT( 20, Y7, SH_BOOL );
ADD_INPUT( 21, DirP_1, SH_BOOL );
ADD_INPUT( 22, N1, SH_DINT );
ADD_INPUT( 23, DirP_2, SH_BOOL );
ADD_INPUT( 24, N2, SH_DINT );
ADD_CONSTANT( 25, LF_1_, SH_DINT );
ADD_CONSTANT( 26, LF_2_, SH_DINT );
ADD_CONSTANT( 27, LF_3_, SH_DINT );
ADD_CONSTANT( 28, LF_4_, SH_DINT );
ADD_CONSTANT( 29, LF_5_, SH_DINT );
ADD_CONSTANT( 30, LF_6_, SH_DINT );
ADD_CONSTANT( 31, LF_7_, SH_DINT );
ADD_CONSTANT( 32, LR_1_, SH_DINT );
ADD_CONSTANT( 33, LR_2_, SH_DINT );
ADD_CONSTANT( 34, LR_3_, SH_DINT );
ADD_CONSTANT( 35, LR_4_, SH_DINT );
ADD_CONSTANT( 36, LR_5_, SH_DINT );
ADD_CONSTANT( 37, LR_6_, SH_DINT );
ADD_CONSTANT( 38, LR_7_, SH_DINT );
ADD_TEMP( 39, d, SH_BOOL );
END_INIT_PINS;
}
int step(void) //! STEP
{
int o = 1;
d = SEL3(LT2(N1,N2),DirP_1,DirP_2);
V1.n = MAX2(N1,N2);
V2.n = MAX2(N1,N2);
V2.k = SEL3(d,LR_2_,LF_2_);
V3.n = MAX2(N1,N2);
V3.k = SEL3(d,LR_3_,LF_3_);
V4.n = MAX2(N1,N2);
V4.k = SEL3(d,LR_4_,LF_4_);
V5.n = MAX2(N1,N2);
V5.k = SEL3(d,LR_5_,LF_5_);
V6.n = MAX2(N1,N2);
V6.k = SEL3(d,LR_6_,LF_6_);
V7.n = MAX2(N1,N2);
V7.k = SEL3(d,LR_7_,LF_7_);
V1.k = SEL3(d,LR_1_,LF_1_);
o &= V1.step();
o &= V2.step();
o &= V3.step();
o &= V4.step();
o &= V5.step();
o &= V6.step();
o &= V7.step();
YF1 = AND2(d,V1.y);
YF2 = AND2(d,V2.y);
YF3 = AND2(d,V3.y);
YF4 = AND2(d,V4.y);
YF5 = AND2(d,V5.y);
YF6 = AND2(d,V6.y);
YF7 = AND2(d,V7.y);
YR1 = AND2(NOT1(d),V1.y);
YR2 = AND2(NOT1(d),V2.y);
YR3 = AND2(NOT1(d),V3.y);
YR4 = AND2(NOT1(d),V4.y);
YR5 = AND2(NOT1(d),V5.y);
YR6 = AND2(NOT1(d),V6.y);
YR7 = AND2(NOT1(d),V7.y);
Y1 = OR2(AND2(d,V1.y),AND2(NOT1(d),V1.y));
Y2 = OR2(AND2(d,V2.y),AND2(NOT1(d),V2.y));
Y3 = OR2(AND2(d,V3.y),AND2(NOT1(d),V3.y));
Y4 = OR2(AND2(d,V4.y),AND2(NOT1(d),V4.y));
Y5 = OR2(AND2(d,V5.y),AND2(NOT1(d),V5.y));
Y6 = OR2(AND2(d,V6.y),AND2(NOT1(d),V6.y));
Y7 = OR2(AND2(d,V7.y),AND2(NOT1(d),V7.y));
return o;
}
};
#endif
(пример нужно приводить целиком, а не только фрагмент!)
ну если Вы и этого не знаете, то для Вас конечно все будут плохи... :rofl:
на заре всей это микропроцессорной мутатени (прим 2006...8 г.г.), иногда некоторые "горячие головы" из эксплуатации просили привести листинг программ алгоритмов..
требование объяснимо и понятно, действительно, даже специалисту не искушённому в программировании всё равно понятны: "AND", "OR", "HOR" и пр.