Для второй переменной адрес - 0001.
А принцип четко прописан в документе по PLC Configuration.
То, что все переменные попадают в МЭК память выходов никак не помешает Вам записывать в них по ModBus необходимые значения.
Вид для печати
Для второй переменной адрес - 0001.
А принцип четко прописан в документе по PLC Configuration.
То, что все переменные попадают в МЭК память выходов никак не помешает Вам записывать в них по ModBus необходимые значения.
ОРС-ами никогда не занимался, но вот на картинках видно что в ПЛК слейв устройство, есть переменные типа WORD, на картинке ОРС-а тоже WORD, а функция модбаса чтение бита и запись отсутствует, видимо когда поставить соответствующую функцию и запись разрешится или я не прав?
Итого. В ModBus Slave Вы добавили несколько переменных. Двух-байтных. Итого это регистры ModBus с адресом 0 и с адресом 1.
Это 100% так и это проверялось уже не одним десятком различных устройств.
С чтением переменных разобрался. Но как записывать в ПЛК так и не понял.
Простейшая программа
http://ipic.su/img/img2/tn/1.1302019431.jpg
Настройки драйвера
http://ipic.su/img/img2/tn/2.1302019558.jpg
http://ipic.su/img/img2/tn/3.1302019592.jpg
http://ipic.su/img/img2/tn/6.1302019625.jpg
Остальные переменные аналогично.
Результат:
http://ipic.su/img/img2/tn/SRRRSRRS.1302019726.jpg
При изменении типа переменных получается следующее(на примере одной переменной):
http://ipic.su/img/img2/tn/SSRRRRSSR...1302019767.jpg
На запись из Матрикона контроллер не реагирует, если же менять значения в самом ПЛК то они возвращаются к исходным(буквально через мгновение) при этом не имеет значения какой тип переменных задан.
Что делать, как быть?
Может быть для записи нужна специальная функция CoDeSyS, которая записывает переменную в ПЛК?
Пробовал записывать с помощью различных программ:
dOPCDAClient
SST_Client
ну и сам Metrikon, результата нет.
1. Как то не прилично просить о помощи и зарабатывать. Лично я не буду ничего скачивать, "просматривая рекламу". Перевыложили бы что ли файл...
2. Все записывается - 1000 раз проверялось. Единственное, что может помешать - объявление переменной, как выходной, а в выходную переменную записать ничего нельзя. Либо Вы в своей же программе после получения значения перетираете его.
ссылки удалены
прикрепил наконец-то