ЖУРНАЛ СТА 1/2015
Далее в окне ресурса PLC Configuration для сервиса внешней сети, представлен- ного элементом ModbusTCP , следует за- дать IP-адрес, маску подсети и при не- обходимости адресшлюза, после чего до- бавить описание коммуникационного объекта типа Bitwise Holding Register с ад- ресом 1 и 19 коммуникационных объ- ектов типа Input Register с адресами с 5000 по 5018. Перенумеровать адреса регист- ров можно после того, как все они добав- лены в дерево конфигурации. Для этого нужно выбрать в дереве конфигурации элемент ModbusTCP , нажать кнопку Упо- рядочить регистры в окне свойств Fastwel, в появившейся диалоговой панели задать начальные адреса для регистров разных типов, имеющихся в конфигурации при- ложения, как показано на рис. 4, нажать кнопки Упорядочить и Закрыть . После создания конфигурации моду- лей ввода-вывода и сервиса подчинён- ного узла MODBUS TCP нужно доба- вить в проект программный код, обес- печивающий обмен данными между ре- гистрами протокола MODBUS TCP и каналами модулей ввода-вывода. Кро- ме того, приложение должно преобра- зовывать значения на каналах модуля аналогового ввода AIM791, представ- ленные в виде кодов АЦП, в значения тока с плавающей точкой одинарной точности. Программа PLC_PRG , авто- матически добавленная в проект при его создании, является тем местом, ку- да может быть добавлен данный про- граммный код. Но сначала нужно доба- вить в проект библиотеку aim791.lib, со- держащую функциональные блоки для работы с каналами модуля AIM791, для чего на вкладке Resources следует от- крыть окно ресурса Library Manager и добавить библиотеку aim791.lib коман- дой Additional Library в контекстном ме- ню списка библиотек, подключённых к проекту, как показано на рис. 5. Одна из возмож- ных реализаций про- граммы обмена дан- ными между канала- ми модулей ввода- вывода и регистрами MODBUS на языке Structured Text пока- зана на рис. 6. Обла- сти деклараций VAR и VAR_TEMP содержат объявления перемен- ных, используемых в теле программы. Переменные, при объявлении кото- рых использована директива AT% , ото- бражены на адреса каналов модулей ввода-вывода и регистров MODBUS в образе процесса: wIODIAG – переменная типа WORD отображена на первые два байта диагно- стического канала контроллера в обла- сти входных данных образа процесса, содержащего маску наличия связи с первыми 32 модулями ввода-вывода; mAIM791Inputs – массив, содержащий один элемент структурного типа AIM- 791_Inputs из библиотеки aim791.lib и отображённый на входные каналы пер- вого и единственного модуля AIM791 в области входных данных образа про- цесса; byDigitalInputs – массив из восьми элементов типа BYTE, отображённый на входные каналы элементов DIM717 8-channels Digital Input Module и DIM762 8-channels Digital Input Module в конфи- гурации приложения. Каждый из этих 58 СТА 1/2015 АППА РАТ НЫЕ С Р Е ДС Т В А / П РОМЫШЛ Е ННЫЕ КОН Т РОЛЛ Е РЫ www.cta.ru Рис. 5. Добавление библиотеки в проект Рис. 6. Копирование данных между регистрами MODBUS и каналами модулей ввода-вывода
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy