Просмотр полной версии : ПР200 и ПЛК110 Синхронизация адресов.
Всех приветствую! Есть один вопрос: У меня написана программа в ПР200 и ПР связана с ПЛК110. ПР как slave. Нужно считывать с ПР входящие показания температуры, состояние задвижки, уставку температуры, и гистерезис. Первые 4 регистра заняты двумя переменными FLOAT по 2 регистра на входную и выходную величину температуры. После идёт INT (Уставка). Адреса первого FLOAT 512-513, второго 514-515. За тем INT 516. В ПЛК +1 к каждому адресу. То есть: 513-514, 515-516, и 517. ПЛК не видит уставку. Поменяли адрес в ПРке на 517, и ПЛК всё увидел. С чем это связано? Подскажите пожалуйста.
а кто посоветовал прибавлять единицу к адресу?
а кто посоветовал прибавлять единицу к адресу?
Инженеры. Поскольку передача FLOAT идёт младшим битом вперёд.
ага, и вы читаете половину одного float и половину второго....
ага, и вы читаете половину одного float и половину второго....
Ну когда поставили первый адрес в ПЛК "512", показания температуры исчезло. И в показаниях было огромное число.
Ну когда поставили первый адрес в ПЛК "512", показания температуры исчезло. И в показаниях было огромное число.
вот и надо менять байты местами чтоб было читаемое, но ни как не адреса регистров смещать
вот и надо менять байты местами чтоб было читаемое, но ни как не адреса регистров смещать
Сейчас ещё раз посмотрел проект. Там передача данных идёт Старшим Байтом вперёд. И как мне объяснили: "Если изменить в ПРке передачу данных на "Младшим Байтом вперёд", может возникнуть проблема с INTовыми переменными". Никак не могу составить полную картину проблемы.
оставте в покое ПР, она как слейв просто передает данные. В плк если через конфигурацию, в УМД в параметрах для начала смените workmode с трейса на нативе или наоборот. Если не полусчиться, тогда придется в коде менять самостоятельно байты у тех переменных которые отображают не верные значения
HEMI наверное просто надо было переставить регистры местами на принимающей стороне.
з.ы. не уверен, что вообще для slave эти галочки работают, насколько помню порядок байт всегда 2301 для режима slave.
Эти галки важны в режиме Master.
оставте в покое ПР, она как слейв просто передает данные. В плк если через конфигурацию, в УМД в параметрах для начала смените workmode с трейса на нативе или наоборот. Если не полусчиться, тогда придется в коде менять самостоятельно байты у тех переменных которые отображают не верные значения
Сейчас все переменные показывают правильные значения. Единственное что меня интересует: почему для FLOAT нужен был сдвиг адреса в +1, а для INT нет?
Но кажется до меня дошло...
HEMI наверное просто надо было переставить регистры местами на принимающей стороне.
з.ы. не уверен, что вообще для slave эти галочки работают, насколько помню порядок байт всегда 2301 для режима slave.
Эти галки важны в режиме Master.
Понял. Н сколько я сейчас понимаю, инженер наш сбился с счёта адресов...
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot