1

(4 відповідей, залишених у Ваші проєкти)

Який москадьський софт. Це італійці. Ви хоч би подивились. Ох і майстри. Я вже і сам розібрався. Дякую.

2

(4 відповідей, залишених у Ваші проєкти)

Шановні форумчани . Прошу допомоги у створенні програми керування клапаном терморегулюючого вентиля теплового насоса. Чи може є вже готові? Драйвер крокового двигуна вентиля керується сигналами ENA(дозвіл) PUL(імпульси керування) DIR(напрямок). Драйвер CWD556. Параметр регулювання підтримання тиску фреона в теплообміннику. Програма розробки UNI-PRO3

3

(11 відповідей, залишених у Ваші проєкти)

int MacroEntry()
{
     unsigned short buf1[1], buf2[1], buf3 [1], buf4[1], buf5[1], buf6[1], buf7[1], buf8[1], buf9[7];
     ReadLocal("RW210",210,1,(void*)&buf1[0], 0);
     ReadLocal("RW211",211,1,(void*)&buf2[0], 0);
     ReadLocal("RW212",212,1,(void*)&buf3[0], 0);
     ReadLocal("RW213",213,1,(void*)&buf4[0], 0);
     ReadLocal("RW207",207,1,(void*)&buf8[0], 0);
     ReadLocal("RB2000",200.0,1,(void*)&buf9[0], 0);
     ReadLocal("LW10002",10002,1,(void*)&buf5[0], 0);
     ReadLocal("LW10001",10001,1,(void*)&buf6[0], 0);

   if((LW10002==RW210)&&(LW10001==RW211))
     RW250 = 1;
   if((LW10002==RW212)&&(LW10001==RW213))
     RW250 = 0;

       WriteLocal("RW250",250,1,(void*)&buf7[0], 0);

/*
задани массиви buf1-4 - заданий час вкл-викл. часи, хвилини, buf5,6 - час системний, buf7 - маркер день-ніч buf8 - дозвільний сигнал, buf9 дні тижня.
*/
    return 0;
}

4

(11 відповідей, залишених у Ваші проєкти)

https://en.kinco.cn/Download/D_enUserMa … Manual.pdf пункти 9(макрос)і 18(регістри)

5

(11 відповідей, залишених у Ваші проєкти)

https://www.google.com/search?q=kinco+h … s-wiz-serp

6

(11 відповідей, залишених у Ваші проєкти)

int MacroEntry()
{
     unsigned short buf1[1], buf2[1], buf3 [1], buf4[1], buf5[1], buf6[1], buf7[1];
     ReadLocal("RW210",210,1,(void*)&buf1[0], 0);
     ReadLocal("RW211",211,1,(void*)&buf2[0], 0);
     ReadLocal("RW212",212,1,(void*)&buf3[0], 0);
     ReadLocal("RW213",213,1,(void*)&buf4[0], 0);
     ReadLocal("LW10002",10002,1,(void*)&buf5[0], 0);
     ReadLocal("LW10001",10001,1,(void*)&buf6[0], 0);

   if(((LW10002>=RW210)&&(LW10001>=RW211))&&(LW10002<RW212))
     LB250 = 1;
        else LB250 = 0;

       WriteLocal("LB250",250,1,(void*)&buf7[0], 0);

/*
В такому вигляді працює, але як можна зробити, при досягненні системного часу LW10002, LW10001 значень RW210, RW211 (часи та хвилини включення системи) регістр LB250 встановлювався в 1, а при досягненні системного часу LW10002, LW10001 значень RW212, RW213 (часи та хвилини виключення системи) регістр LB250 встановлювався в 0. Тобто потрібен часовий тригер. чи може через оператор swich, але я не знаю як.
    return 0;
}

7

(11 відповідей, залишених у Ваші проєкти)

Не помогло. Щось інше.

8

(11 відповідей, залишених у Ваші проєкти)

Потрібно записувати тоді коли проведено обчислення? тобто так?

nt MacroEntry()
{
unsigned short buf1[4], buf2[2], buf3[1];
ReadLocal("RW", 210, 1, (void*)&buf1[0], 0);
ReadLocal("RW", 211, 1, (void*)&buf1[1], 0);
ReadLocal("RW", 212, 1, (void*)&buf1[2], 0);
ReadLocal("RW", 213, 1, (void*)&buf1[3], 0);
ReadLocal("LW", 10002, 1, (void*)&buf2[0], 1);
ReadLocal("LW", 10001, 1, (void*)&buf2[1], 1);


if (buf2[0]> buf1[0]&&buf2[0]< buf1[2])
buf3[1]=1;
else buf3[1]=0;
WriteLocal("LW", 250, 1, (void*)&buf3[0], 0);

9

(11 відповідей, залишених у Ваші проєкти)

/*
    Read,Write Local address function:
      int ReadLocal( const char *type, int addr, int nRegs, void *buf, int flag  );
    int WriteLocal( const char *type, int addr, int nRegs, void *buf , int flag );

    Parameter:     type     is the string of "LW","LB" etc;
                                address is the Operation address ;
                                 nRegs    is the length of read or write ;
                                buf        is the buffer which store the reading or writing data;
                                 flag       is 0,then codetype is BIN,is 1  then codetype is BCD;
    return value : 1  ,Operation success
                                 0,  Operation fail.

     eg: read the value of local lw200 and write it to the lw202,with the codetype BIN,
        The code is :

        short buf[2] = {0};
        ReadLocal("LW", 200, 2, (void*)buf, 0);
        WriteLocal("LW", 202, 2, (void*)buf, 0);
*/
int MacroEntry()
{
unsigned short buf1[4], buf2[2], buf3[1];
ReadLocal("RW", 210, 1, (void*)&buf1[0], 0);
ReadLocal("RW", 211, 1, (void*)&buf1[1], 0);
ReadLocal("RW", 212, 1, (void*)&buf1[2], 0);
ReadLocal("RW", 213, 1, (void*)&buf1[3], 0);
ReadLocal("LW", 10002, 1, (void*)&buf2[0], 1);
ReadLocal("LW", 10001, 1, (void*)&buf2[1], 1);
WriteLocal("LW", 250, 1, (void*)&buf3[0], 0);

if (buf2[0]> buf1[0]&&buf2[0]< buf1[2])
buf3[1]=1;
else buf3[1]=0;


/*
задани массиви buf1[4] - заданий час вкл-викл. часи, хвилини, buf2[2] - час системний, buf3[1] - маркер день-ніч
*/
    return 0;
}

Проблема. Згідно встановленого розкладом часу система повинна переходити в денний або нічний час. Часи та хвилини включення денного режиму регістри RW210 RW211, виключення - RW212 RW213. Вони зчитуються в buf1 всі 4 значення. довжина слова 1 код BIN. В макросі ці значення порівнюються зі значеннями системного годинника сенсорної панелі Kinco з buf2 (регістри LW10002 LW10001 - 1 слово BCD) значення 0 або 1 записуються в регістр LW250 buf3, а потім виводиться на екран панелі. Це помісь С++ та китайськи розробки, але в макросі використовуються операнди С++. Дякую. І за мову окупанта також.

int MacroEntry()
{
unsigned short buf1[4], buf2[2], buf3[1];
ReadLocal("RW", 210, 3, (void*)&buf1[0], 0);
ReadLocal("RW", 211, 3, (void*)&buf1[1], 0);
ReadLocal("RW", 212, 3, (void*)&buf1[2], 0);
ReadLocal("RW", 213, 3, (void*)&buf1[3], 0);
ReadLocal("LW", 9012, 3, (void*)&buf2[0], 0);
ReadLocal("LW", 9011, 3, (void*)&buf2[1], 0);
WriteLocal("LB", 0, 1, (void*)&buf3[0], 0);

if (((buf2[0]>= buf1[0] && buf2[1]>= buf1[1])||(buf2[0]> buf1[0])) && (((buf2[0]<= buf1[2] && buf2[1]<= buf1[3]))||(buf2[0]<buf1[2])))
buf3[0]=1;
else buf3[0]=0;


/*
заданы массивы buf1[4] - заданий час вкл-викл. часи, хвилини, buf2[2] - час системний, buf3[1] - маркер день-ніч
*/
    return 0;
}