написал программу для PLC-150:
Код:
VAR_GLOBAL
	I1 AT %QD7.0:REAL;
	di0 AT %IX0.0:BOOL;
	di1 AT %IX0.1:BOOL;

      do0 AT %QX1.0:BOOL;
      do1 AT %QX1.1:BOOL;
      do2 AT %QX1.2:BOOL;
      do3 AT %QX1.3:BOOL;

END_VAR
Код:
PROGRAM PLC_PRG
VAR
      beg:BOOL:=TRUE;
	comPort:PORTS:=0;
	openComPort:DWORD;
	closeComPort:BOOL;
	inp:BOOL;
	outp:BOOL;
	xOutput:fOutput;
	ok:BOOL;
	ComSet:comsettings;
	vI:REAL;
	bytesRead:DWORD;
	buf: REAL;
END_VAR
Код:
IF di0 THEN
 (*завершение*)
 closeComPort:=SysComClose(opencomport);
ELSE
 IF beg THEN
   (*инициализация*)
   openComPort:=SysComOpen(comPort);
   IF openComPort=INVALID_HANDLE THEN
      i1:=5.1;
   ELSE
      i1:=10.1;
   END_IF;

   ComSet.dwBaudRate:=9600;
   ComSet.byParity:=0;
   ComSet.byStopBits:=0;
   ComSet.dwBufferSize:=4;
   ComSet.dwScan:=0;
   ComSet.dwTimeout :=10;
   ComSet.Port:=comPort;
   ok:=SysComSetSettings(openComPort,ADR(ComSet));
   IF ok THEN
      do3:=TRUE;
   END_IF;
   vI:=0.001;
   beg:=FALSE;
 ELSE
   (*цикл пока не нажата кнопка di0*)
    bytesread:=SysComRead(opencomport,ADR(buf),4,300);
    IF bytesread=4 THEN
     (*vI:=buf;*)
     I1:=buf;
    END_IF;
    IF  bytesread>0 THEN
      do0:=((bytesread MOD 2)=1);
      do1:=(((bytesread/2) MOD 2)=1);
      do2:=(((bytesread/4) MOD 2)=1);
     (* do3:=(((bytesread/16) MOD 2)=1);*)
   END_IF;
 END_IF (* IF beg ELSE*)
END_IF (*IF di0 ELSE*)
При старте программы начинает выдавать ток с 1-ого аналогового выхода 10.1 мА (т.е. порт открыт)
почему-то загорается лампочка дискретного выхода №1 вместо №4-ого (т.е. конфигурация установлена)
передаю с копма сообщение, а контроллер не ловит его, о чём говорят лампочки остальных дискретных выходов (т.е. количество принятых байт=0)

Заметил, что при логиневании CoDeSys говорит, что я не правильно задал ComSet.Port, и всегда принудительно менял значение переменной comPort на COM1

Пробовал связываться через RS-232 и RS-485 (менял подключение Rx,Tx - A,B) результат одинаковый.

Вопросы:
1. Можно ли общаться с этим контроллером через RS-232 или он только для записи в него программы?
2. Как подключаться к RS-485 (в смысле: Tx к A, Rx к B или наоборот)? Что будет если я не правильно подключу?
заранее спасибо