PDA

Просмотр полной версии : ПЛК100 - Панель СП270 (передача бита)



DELPHI_FOREVE
22.04.2013, 06:58
ПЛК -master, панель - slave. Пишу программу отображения выхода за уставку параметра, для этого из ПЛК по modbus отправляю бит в панель. В ПЛК использую "8 bit output module State" В панеле использую объект "Лампа". Сами значения параметров передаются - связь есть! Столкнулся с двумя проблемами:
1. Не получается использовать разные биты одного регистра для разных объектов, т.е для каждого объекта "лампа" приходится использовать отдельный регистр и весь его передавать по modbus, хотя программно это предусмотрено. В объекте "Лампа" -> Управление\регистр приходится задавать PSB, а не PSW\bit !!!

2. Столкнулся с проблемой "мигающих регистров" - некоторые регистры (точнее их биты) не держат своего значения а вместо этого мигают как по таймеру. Никакой закономерности не получилось найти, регистр может мигать, а может и не мигать... В параметре Мигание объекта "Лампа" стоит статус "Стоп"! может это связано с объемом передаваемых данных? у меня передается по modbus 17 параметров типа real (использовано 34 регистра -> 68 байт), и еще нужно 9 битов для сигнализации (приходится использовать 9 регистров, а не один!).

petera
22.04.2013, 08:40
ПЛК -master, панель - slave. Пишу программу отображения выхода за уставку параметра, для этого из ПЛК по modbus отправляю бит в панель. В ПЛК использую "8 bit output module State" В панеле использую объект "Лампа". Сами значения параметров передаются - связь есть! Столкнулся с двумя проблемами:
1. Не получается использовать разные биты одного регистра для разных объектов, т.е для каждого объекта "лампа" приходится использовать отдельный регистр и весь его передавать по modbus, хотя программно это предусмотрено. В объекте "Лампа" -> Управление\регистр приходится задавать PSB, а не PSW\bit !!!

2. Столкнулся с проблемой "мигающих регистров" - некоторые регистры (точнее их биты) не держать своего значения а вместо этого мигают как по таймеру. Никакой закономерности не получилось найти, регистр может мигать, а может и не мигать... В параметре Мигание объекта "Лампа" стоит статус "Стоп"! может это связано с объемом передаваемых данных? у меня передается по modbus 17 параметров типа real (использовано 34 регистра -> 68 байт), и еще нужно 9 битов для сигнализации(9 регистров, а не один!).
По п.2 и возможно п.1.
Адреса регистров панели PSB, PSW, PFW от 0 до 255 используются системным ПО. http://www.owen.ru/forum/showthread.php?t=13179
Вы должны использовать адреса регистров панели начиная с адреса 256!
В этом документе найдете свои мигающие регистры http://www.imenista.com/pdf/InternalObjTP.pdf

DELPHI_FOREVE
22.04.2013, 09:28
Я использую регистры начиная с 256... проблема мигания у меня начинается с регистра 295... и даже 257 в одном случае замигал

petera
22.04.2013, 09:39
Я использую регистры начиная с 256... проблема мигания у меня начинается с регистра 295... и даже 257 в одном случае замигал
Не видя Вашего проекта для СП270 не могу Вам помочь.
Скорей всего проблема в программе ПЛК.
По поводу предыдущего поста для разных "Ламп" можно использовать отдельные биты одного и того же регистра ПЛК вида 4хAAANN, где AAA -номер регистра ПЛК и NN -номер бита.
Можете с сообщению прикрепить архивированный (будет маленький размер) проект СП270. Еще бы увидеть скрин конфигурации modbus ПЛК.
ЗЫ. По поводу ламп
Можно использовать прямую адресацию к битам ПЛК, если использовать для Ламп адреса вида 0хААА, где ААА-адрес бита в модуле modbus ПЛК. Только нужно правильно его рассчитать.
Что касается адресации вида 4хAAANN, где AAA -номер регистра ПЛК и NN -номер бита, то нужно учитывать что регистр 16 бит, а модуль "8 bit output module State" в ПЛК -8бит.

DELPHI_FOREVE
23.04.2013, 07:55
Не видя Вашего проекта для СП270 не могу Вам помочь.
Скорей всего проблема в программе ПЛК.
По поводу предыдущего поста для разных "Ламп" можно использовать отдельные биты одного и того же регистра ПЛК вида 4хAAANN, где AAA -номер регистра ПЛК и NN -номер бита.
Можете с сообщению прикрепить архивированный (будет маленький размер) проект СП270. Еще бы увидеть скрин конфигурации modbus ПЛК.
ЗЫ. По поводу ламп
Можно использовать прямую адресацию к битам ПЛК, если использовать для Ламп адреса вида 0хААА, где ААА-адрес бита в модуле modbus ПЛК. Только нужно правильно его рассчитать.
Что касается адресации вида 4хAAANN, где AAA -номер регистра ПЛК и NN -номер бита, то нужно учитывать что регистр 16 бит, а модуль "8 bit output module State" в ПЛК -8бит.

Вы пишете о программировании панели когда она - master, в этом случае многое проще становится, но у меня ПЛК - master! или я чего-то не знаю...

DELPHI_FOREVE
23.04.2013, 08:02
Вот проект ПЛК100 и СП270. здесь регистр 295 - работает; 296,297 - "мигают"; 298 вообще не работает.

Валенок
23.04.2013, 08:27
PSB - это не регистр


Не получается использовать разные биты одного регистра для разных объектов, т.е для каждого объекта "лампа" приходится использовать отдельный регистр и весь его передавать по modbus, хотя программно это предусмотрено.
Детский лепет. Не усложняйте себе жизнь.Используйте Rigister Output Module. Передавайте весь регистр, а в нем устанавливайте кому хотите какие хотите биты.

petera
23.04.2013, 12:40
Вы пишете о программировании панели когда она - master, в этом случае многое проще становится, но у меня ПЛК - master! или я чего-то не знаю...
Прошу прощения, ошибся, но не сильно. Следует читать
"для разных "Ламп" можно использовать отдельные биты одного и того же регистра PSW вида PSW.AAA.NN, где AAA -номер регистра и NN -номер бита"
http://s019.radikal.ru/i627/1304/54/8f0bed445b02t.jpg (http://s019.radikal.ru/i627/1304/54/8f0bed445b02.png)
Одного регистра PSW достаточно для обслуживания 16 ламп.
Нужно делать, как Вам советуют

Используйте Rigister Output Module. Передавайте весь регистр, а в нем устанавливайте кому хотите какие хотите биты.
Про регистры
СП270 имеет:
-оперативную память -набор 16-ти разрядных регистров PSW[0...1024] и бит PSB[0...1024]. Области PSB и PSW не пересекаются,
-энергонезависимую память набор 16-ти разрядных регистров PFW[0...1024].
PSB это один бит.
Про адресацию регистров СП270(слейв), с точки зрения мастера http://www.owen.ru/forum/showthread.php?t=14257

ЗЫ. Посмотрел Ваш проект. Хотя я сам и не использую Панель(слейв)-ПЛК(мастер), но думаю, что у Вас адресация битов PSB выглядит так
http://s018.radikal.ru/i523/1304/a1/271255c2e1a8t.jpg (http://s018.radikal.ru/i523/1304/a1/271255c2e1a8.png)
Затем у Вас идут модули
"8-bit output module State" с адресом 295 - (PSB295, PSB296, PSB297, PSB298, PSB299, PSB300, PSB301, PSB302)
"8-bit output module State" с адресом 296 - (PSB296, PSB297, PSB298, PSB299, PSB300, PSB301, PSB302, PSB303)
"8-bit output module State" с адресом 297 - (PSB297, PSB298, PSB299, PSB300, PSB301, PSB302, PSB303, PSB304)
И так далее.
То есть каждый последующий модуль записывает информацию в те же PSB, что и предыдущий модуль.

DELPHI_FOREVE
23.04.2013, 13:35
все ясно, все работает, спасибо за полную информацию :)