lomtik
У ПМ01 3 разъема, являющиеся распайкой 2-ух интерефейсов 232 и 485.
Если вы хотите подключиться к ПЛК через 232, то следует воспользоваться X1 или X2. Если через 485 - X1 или X3. Если вы используете 232 в качестве подключения к ПК или ПЛК, то независимо от того через X1 или Х2 вы подключаетесь - вам необходимо поставить перемычку 6-9 (RTS - CTS) на Х1! Хотя при работе с ПЛК по 232 я не использовал перемычку и все работало. Но лучше следовать инструкции.
UNM номеруются не по тому к какому порту относятся, а по их положению в дереве устройств. Тот UNM, что находится выше будет иметь меньший номер. Если сначала стоит UNM с 232 а потом UNM с 485, то 232 -0, 485 -1
Если вы подключились кабелем по 232 к ПК, то этот кабель подойдет и для подключения к ПЛК по 232 также.
lara197a
У меня работает ПМ01 через 232. Проблем именно с open port не было. Скорее были проблемы с modem_config. Блок должен был настроить модем на работу с смс - установить алфавит, режим и т.д. Но я так понимаю - он это не сделал, потому что - у меня все выполнялось без ошибок в программе, все сигнализировало о том, что смс отправляются, но они не приходили, пока я вручную из теминала не прописал все эти настройки и не сохранил конфигурацию, после этого заработало.
Вот протестировал библиотеку на ПЛК 73 и немного на ПЛК 100, впринципе видно что библиотека работает, но есть вопросы и пожелания.
Для начала хочется поблагодарить Евгения Сергеевича за такую классную библиотеку, там только один перевод в режим PDU чего стоит.
Теперь пожелания:
1.
Очень порадовала возможность определения входящего вызова "NewInRing" , считаю очень полезной функцией, очень не помешалобы на время пока NewInRing=TRUE еще выводить номер абонента входящего звонка, что то типа "NewInRingNum".
Таким образом появится возможность подавать команду при помощи звонка, но с фильтрованием по номеру. Или делаешь вызов с любого номера на номер ПЛК, а он определяет номер входящего вызова и отправляет смс на этот номер с информащией о объекте управляемом ПЛК.
2.
Так же интересно было бы иметь возможность посылать исходящие вызовы. Например ПЛК проверил состояние счета, понял что средства заканчиваются, а в это время возникает СУПЕР АВАРИЙНАЯ ситуация и ПЛК просто берет и звонит на указанный номер, экономя таким образом средства. "SendRing"
3.
Вначале работы ФБ настраивает модем и пытаеся определить зарегистрировался ли он в ДОМАШНЕЙ СЕТИ (когда один из операторов у меня регистрировался в роуминге то отравить или получить ничего нельзя), так же он посылает запрос о уровне сигнала, так вот не плохо былобы получить из ФБ значение уровня сигнала покрытия. Тоесть вместе с запросами чтения новых смс переодически посылать запрос о качестве сигнала. Можно конечно и информацию о регистрации в сети, но это не самое критичное так как ФБ возвращает коды ошибок если он не готов к отправке.
Теперь замечаня.
1.
Не получается проверить баланс. Пробовал на нескольких операторах. В номер ввожу короткий номер запроса например Life Украина *111#, текст сообщения оставляю пустым и взвожу "ssend". В терминале wTerm вижу команду запроса, затем модем отправляет на ПЛК ответ, но видимо не в режиме PDU, потому что его можно прочитать как на экране телефона.
В это время на плк счетчик принятых сообщений увеличивается на 1, NewInSmsNum='*111#', NewInSmsText='ERROR: No answer ', NewInSmsTime остается время последнего принятого сообщения, а ErrCode=9.
2.
Теперь что касается времени скана ПЛК. Заметил что если время скана программы более 15мс,при 20мс точно, то возникает проблема при чтении входящих сообщений библиотека посылает запрос на чтение модем отвечает содержимым сообщения и тут происходит какой то затык, обмен данными прекращается видимо до срабатывания какогото таймаута, затем снова пытается прочитать сообщение и так может повториться несколько раз. Пока ПЛК видимо не посчитает что ему всетаки удалось прочитать **** но на самом деле все строки номера, времени,текста вытираются, т. е. становятся равны ''.
При скане 1 мс все работает хорошо, все бы ничего, но у меня программа на ПЛК 73 вместе с pou работы с модемом работает со сканом 18мс.
Все пожелания и замечания справедливы для обоих библиотек и для ПЛК1xx и для ПЛК63/73. Вообще по моим наблюдениям библотека на обоих типах ПЛК ведет себя одинаково, за одним исключением что при отправке смс на ПЛК 1хх вся команда отправки смс в формате PDU отравляется в модем за один раз, а из ПЛК 63/73? особенно при большом скане делится на 3-4 порции.
Если какието из вышеуказанных пунктов заинтересуют разработчиков, то при необходимости могу записать видео эксперементов в CoDeSys и в терминале wTerm.
Последний раз редактировалось Леонид; 03.01.2013 в 02:23.
спасибо, просто поспешил вначале.
подключился по 232, но что-то опять мешает отсылке. Проверил переключатели на корпусе модема, выставил на работу с 232 : 1 - off, 2 - on. Модем настроился. Блок отсылки работает, но смс не уходят. Для запуска старта отсылки делаю start в true и назад. Имитирую импульс. Хочу послать число 150 (WORD_TO_STRING(150)). Но сообщения не уходят. Что опять не так?(((((
Последний раз редактировалось lomtik; 13.12.2012 в 12:39.
C гипертерминала смс отсылаются?
AT+CMGF=1
AT+CMGS="790........"
> вводите текст сообщения и нажимаете ctrl + z.
с гипертерминала отсылается без проблем
а busy в каком состоянии должна быть перед отправкой смс?
еще раз извиняюсь за вопроса от чайника![]()
спасибо, разобрался )))