Показано с 1 по 10 из 10

Тема: СПК207+ПМ01

  1. #1

    По умолчанию СПК207+ПМ01

    Помогите пожалуйста разобраться как подключить модем Овен ПМ01 к Контроллеру СПК207, пробовал подключить через порт debug при включении контроллера при подключенном модеме он не загружал программу при отключении модема все нормально работало, пробую через COM1 связи с модемом нет, объясните пожалуйста поподробнее как подключать,распайку кабеля,нужны ли какие нибудь перемычки,и под какими номерами какие поры находятся.
    PS По rs-485 не предлагать, оба заняты.

  2. #2

    По умолчанию

    У спк три порта для работы, два из них могут работать как в 232 режиме так и 485. физически выводы интерфейсов разнесены поэтому на обратной стороне вы можете наблюдать два различных порта с обозначением COM2 и COM3. Если оба RS-485 у вас занято то для работы с модемо остается один порт COM1.
    Нумерация портов сдвинута на единицу, т.е. порт 1 в программе будет идти под номером 2. Для работы с модемом можно использовать библиотеку работы с портом SysCom. Распайка порта стандартная так что для работы должен подойти кабель КС7.

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Сергеевич Посмотреть сообщение
    У спк три порта для работы, два из них могут работать как в 232 режиме так и 485. физически выводы интерфейсов разнесены поэтому на обратной стороне вы можете наблюдать два различных порта с обозначением COM2 и COM3. Если оба RS-485 у вас занято то для работы с модемо остается один порт COM1.
    Нумерация портов сдвинута на единицу, т.е. порт 1 в программе будет идти под номером 2. Для работы с модемом можно использовать библиотеку работы с портом SysCom. Распайка порта стандартная так что для работы должен подойти кабель КС7.
    Спасибо, все получилось

  4. #4

    По умолчанию

    Подключить подключил а программно не могу разобраться, первый раз команда вроде возвращает нормальный ответ, а дальше идет ересь помогите разобраться
    Код:
    IF Enable THEN
      //Если порт не открыт - открываем
      IF NOT(Connect_Com) THEN
    	//Формируем настройки порта
    	PortSetting.sPort:=2;			//номер порта
    	PortSetting.ulBaudrate:=9600;	//Скорость работы
    	PortSetting.byStopBits:=0;		//Кол-во стоповых бит 0 =один, 1=полтора , 2=два
    	PortSetting.byParity:=0;		//Режим проверки четности 0 = нет, 1 = нечет, 2 = чет
    	PortSetting.ulTimeout:=0;
    	PortSetting.ulBufferSize:=0;
    	
    	//Дополнительные параметры
    	PortSettingEX.byByteSize:=8;
    	PortSettingEX.bBinary := TRUE;
    	PortSettingEX.bDtrControl := FALSE;
    	PortSettingEX.bRtsControl := TRUE;
    	PortSettingEX.bOutxCtsFlow := FALSE;
    	PortSettingEX.bOutxDsrFlow := FALSE;
    	PortSettingEX.bDsrSensitivity := FALSE;
    	
    	//PortSettingEX.bInX:=FALSE;
    	//PortSettingEX.bOutX:=FALSE;
    	//PortSettingEX.bTXContinueOnXoff:=FALSE;
    	//PortSettingEX.byXoffChar:=FALSE;
    	//PortSettingEX.byXonChar:=FALSE;
    	
    	//Открываем порт
    	Handle:=SysCom.SysComOpen2(ADR(PortSetting),ADR(PortSettingEx),ADR(res));
    	IF	handle=16#FFFFFFFF THEN 
    		ErrCode:=1;
    		Enable:=FALSE;
    		RETURN;
    		ELSE
    		Connect_Com:=TRUE;
    	END_IF
    	
    	IF res<>0 THEN
    		ErrCode:=2;
    		SysCom.SysComClose(Handle);
    		Enable:=FALSE;
    		RETURN;
    		ELSE
    		Connect_Com:=TRUE;
    	END_IF	*)
      END_IF
      //Если порт открыт - передаем AT-команды модему
      IF Connect_Com THEN
    	//Получение ответа
    	IF OnAnswer THEN
    		LenRead:=SysCom.SysComRead(Handle,ADR(BufOtvet),LenOtvet,0,res);
    			IF LenRead>0 THEN
    				Otvet:=CONCAT(otvet,LEFT(BufOtvet, UDINT_TO_INT(LenRead)));
    			END_IF
    			IF Len(Otvet)>=LenOtvet THEN
    				OnAnswer:=FALSE;
    				ErrCode:=0;
    				Enable:=FALSE;
    				SysCom.SysComClose(Handle);
    				Connect_Com:=FALSE;
    				RETURN;
    			END_IF
    	END_IF
    	//Передача AT-команды
    	IF NOT(OnAnswer) THEN
    		Otvet:='';
    		LenBuf:=Len(command1);
    		LenWrite:=SysCom.SysComWrite(Handle,ADR(command1),LenBuf,0,res);
    		IF LenBuf = LenWrite THEN
    			OnAnswer:=TRUE;
    			ELSE
    			ErrCode:=3;
    			SysCom.SysComClose(Handle);
    			Enable:=FALSE;
    			RETURN;
    		END_IF
    	END_IF
      END_IF
    END_IF

  5. #5
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    IF Len(Otvet)>=LenOtvet THEN
    не заметил, а если условие ни когда не выполниться, то что произойдет?

  6. #6

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    не заметил, а если условие ни когда не выполниться, то что произойдет?
    Условие выполняется, в ответе не то что должно прийти
    пример ответа
    первый запрос
    'AT$N$N$NOK$N'
    второй запрос
    'AT$NAT$N'

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    К Вашему сведению, в место положительного ответа может прийти ERROR
    Да и второй запрос у Вас это что?

    Как часто Вы шлете такие запросы? через ПК пробовали подавать на модем команды, там все работает? Режим эхо( АТЕ) в каком значении? И почему пишите $N, вроде должна отображаться связка $R$N

  8. #8

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    К Вашему сведению, в место положительного ответа может прийти ERROR
    Да и второй запрос у Вас это что?

    Как часто Вы шлете такие запросы? через ПК пробовали подавать на модем команды, там все работает? Режим эхо( АТЕ) в каком значении? И почему пишите $N, вроде должна отображаться связка $R$N
    Стартую вручную, отправляю команду 'AT$R', через пк не пробовал, настройки в модеме заводские, режим эхо должен быть с завода отключен

  9. #9
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    если эхо отключено то AT$NAT$N тогда это означает что Вы два раза подаете команду, не успев принять ответ. Пробуйте через терминал поработать с модемом, чтоб разобраться проблемы с программой или с модемом

  10. #10

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    если эхо отключено то AT$NAT$N тогда это означает что Вы два раза подаете команду, не успев принять ответ. Пробуйте через терминал поработать с модемом, чтоб разобраться проблемы с программой или с модемом
    Как все сложно!

Похожие темы

  1. statistic СПК207
    от a.tkachenko в разделе СПК2хх
    Ответов: 12
    Последнее сообщение: 29.08.2017, 15:06
  2. Связка МВА8-ПЛК100-ПМ01-GPRS-ПМ01-LectusOPC-SCADA
    от vapik в разделе Сетевые технологии
    Ответов: 14
    Последнее сообщение: 20.05.2014, 23:48
  3. СПК207 USB
    от ОАО"Органика" в разделе СПК2хх
    Ответов: 6
    Последнее сообщение: 31.08.2012, 16:04

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •