Doomers а адрес так и указывается 0x40001 или все-таки 1 или 0 с указанием Holding Registers функций 0x03 ?
з.ы. просто не знаю Siemens настолько
Вид для печати
Doomers а адрес так и указывается 0x40001 или все-таки 1 или 0 с указанием Holding Registers функций 0x03 ?
з.ы. просто не знаю Siemens настолько
Да так и пишется, с RTU все хорошо, а этот ПЛК100 уже весь мозг выел...я новый чистый проект создал, чтоб отбросить все сомнения....НО - статус функции "чтение данных", а вот данных я не вижу, все по нолям....фигня полная вообще
Вложение 60053
В TiaPortal есть возможность посмотреть пакет TCP который отправляется от Simens до 100-ки ?
Если это симуляция на ПК то можно WireShark-ом посмотреть, вот чем смотреть между ПЛК я честно не знаю...
MB_Data_Len почему 1 если вы три регистра создали ?
Валенок какое устройство уже не помню, надо по форуму лазить и искать. первые два байта заголовка это Transaction Id - можете проверить на ПЛК 100(110) всегда там нули ставить и ПЛК будет отвечать. Да и многие устройства из мне знакомых просто игнорируют этот параметр.
Но таки попалось какое-то устройство. которое требовало наличие счетчика и не отвечало, если там были нули.
MB_Unit_ID - то, о чем я говорил, без этого ID сотка не ответит. Хотя честно не пробовал с 0xFF а с 0x00 оно не отвечает.
Валенок не равными, а увеличиваться и не быть равными нулю это если по протоколу. Но большинство кладут на номер транзакции с высокой....
з.ы. на счет смотреть - WireShark умеет смотреть только физические интерфейсы своего ПК, то есть что ПК отправляет. Какого-то ПО, которое может сниферить сеть между сторонними устройствами я на знаю. Я об этом больше говорил. То есть если ПЛК работает на ПК в эмуляции то фозможно можно посмотреть Шарком, хотя не факт. Пример с виртуальной машиной где интерфейс в брижде Шарк не отловит.
Several MODBUS transactions can be activated simultaneously on the same TCP Connection.
Remark: If this is done then the MODBUS transaction identifier must be used to uniquely identify the matching requests and responses.
The transaction identifier is used to associate the future response with the request.
So, at a time, on a TCP connection, this identifier must be unique. There are
several manners to use the transaction identifier:
- For example, it can be used as a simple "TCP sequence number" with a
counter which is incremented at each request.
- It can also be judiciously used as a smart index or pointer to identify a
transaction context in order to memorize the current remote server and the
pending MODBUS request.
Ну, с чего начинать ID транзакции с 0 или с 1 не сказано. Выше цитаты из протокола, но как писал ранее, за несколько лет столкнулись только с одним устройством, которое требовало наличие ID транзакций и не отвечало, когда оно было равным нулю. И мало того, не отвечало на повторный ID если ответ был передан.
Я человек простой. Тупо промт :
Про некий "0" ничего не вижу. Но заметил.Цитата:
Несколько транзакций MODBUS могут быть активированы одновременно на одном TCP-соединении.
Примечание: Если это сделано, то идентификатор транзакции MODBUS должен использоваться для однозначной идентификации соответствующих запросов и ответов...
А счетик, умножитель или рандом - пофиг.
Видео уже с десяток пересмотрел - все аналогично....Не совсем понял, зачем вам скрин с Connections из Device & networks, сконфигурировать ПЛК100 в ТИА каким образом смогу? - на него даже GSD файла нет...
Вложение 60056