Стартовая страница › Форумы › Понять, как работает ПО › Отправка команд
- В этой теме 34 ответа, 4 участника, последнее обновление 7 месяцев назад сделано
Mikhail.
-
АвторЗаписи
-
25.12.2025 в 15:30 #41549
manjey73УчастникДомой доберусь, продублирую. Делал универсальный скрипт для выходной формулы.
25.12.2025 в 16:03 #41553
MikhailМодераторВ Rapid SCADA 6 при настройке Modbus, если у Вас регистр уже указан на чтение, не нужно создавать в шаблоне дополнительную команду для его записи. Это оставлено для совместимости со старыми настройками и для редких случаев, когда читать регистр не нужно, а нужно только записывать.
25.12.2025 в 21:39 #41563
manjey73Участникpublic double CheckComm(double min, double max, double mult, string str = "" ) { if (Cmd < min || Cmd > max) throw new Exception($"Значение должно быть в пределах {min} - {max} {str}"); return Cmd*mult; } public double CheckComm1(double min, double max, string str = "" ) { if (Cmd < min || Cmd > max) throw new Exception($"Значение должно быть в пределах {min} - {max} {str}"); return Cmd; }в выходной формуле
CheckComm(16, 32, 10, "градусов")— вариант с множителем26.12.2025 в 09:42 #41568
baurУчастникif (Cmd < min || Cmd > max) throw new Exception($»Значение должно быть в пределах {min} — {max} {str}»);
return Cmd;Спасибо за формулу 👍, как раз хотел спросить про множитель. У RS много недокументированных возможностей.
26.12.2025 в 09:47 #41569
manjey73Участникмножитель это нормально, вы же пишите в канале Cnl/10 если получаете из ПЛК умноженное на 10, например в формате int.
Соответственно если вы подаете команду, то ее надо умножить на 10 — Cmd*10
Другой вопрос, что это бы, да в «мозги» драйвера Modbus. Я в свои добавлял там, где требуется. Это чуть-чуть сокращает время разработки.
26.12.2025 в 09:51 #41570
baurУчастник26.12.2025 в 09:52 #41571
baurУчастникСоответственно если вы подаете команду, то ее надо умножить на 10 — Cmd*10
да как раз это было и нужно, теперь оператор задает точно 123.4 а не 1234
спасибо26.12.2025 в 11:01 #41572
manjey73УчастникФункция 10 для записи будет включена автоматом, если у вас 4 или 8 байт тип данных.
а если все 2 байта но писать надо 10-й функцией, то да, придется команды отдельно делать.26.12.2025 в 12:44 #41573
baurУчастникУ меня всего 2 байта, поэтому объединить канал и команду не получается.
Для записи 2 байт приходится делать отдельную команду — это временно или всегда так будет?к сожалению, для проверки не нашел регистра на 4–8 байт для записи.
26.12.2025 в 13:09 #41575
manjey73Участникну это надо, чтобы Михаил доработал видимо драйвер, чтобы даже в 2-х байтовых вариантах можно было поставить галочку, что писать их надо множественной командой.
я тоже встречал устройства, где запись всегда функцией 10
26.12.2025 в 18:50 #41584
MikhailМодераторЗаписал пожелание по поводу опции.
Что это за устройство такое?29.12.2025 в 06:27 #41595
baurУчастник29.12.2025 в 09:45 #41596
manjey73Участникпросто когда в устройствах есть и 4-х байтные переменные часто производитель не заморачивается выбором типа функции записи, тупо 0x10 на всё и все дела.
Не только Овен, и другие попадались.29.12.2025 в 10:56 #41597
baurУчастникМожно ли отправить команду без подтверждения в среде Mimic, например через тумблер
29.12.2025 в 11:11 #41598
manjey73Участникможно. там чуть по другому настройки вроде, но точно можно.
Сделайте простой проект в старом редакторе и конвертируйте в мимик и посмотрите.
ну это если без ошибок перенесет 🙂 -
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.
