Частотники > Технический форум
Delta ISPSoft вопросы
admin:
Поговорил с нашими программистами. Ну во первых сравнения они утверждают работают. Начальными значениями они не пользуются, так как это действительно однократные начальные значения. Если ПЛК остановили, потом запустили - то начальные значения в момент запуска не перезаписываются, а сохраняются с последнего стопа. В онлайн режиме тоже неприсваиваются. Вобщем это ненадежно, поэтому пользуютя обычным MOV-ом. Они утверждают, что MOV c флоатами так же работает - это сплошь и рядом в их проектах.
Вот цитата из мануала "Users can set the initial value of a symbol when they declare the symbol. If a project is downloaded,
the initial values of the symbols can be written into the devices assigned to the symbols. However,
the initial values of the symbols in a project are written into the devices assigned to the symbol only
when the project is downloaded. If a PLC is disconnected or stops running, and runs again, the
values of the symbols in the program in the PLC will not be the initial values. In order to ensure that
the values of the symbols in the program in a PLC are the initial values whenever the PLC begins to
run, it is suggested that users download the initial values of the symbols. Besides, when the online
update is executed, the system does not download the initial values of the symbols."
Кроме того есть вот такая оговорка: "Before the initial values are downloaded, users have to make sure that ISPSoft is connected to the PLC normally. Please refer to section 2.4 for more information about communication setting."
Основное преимущество ISP в том, что можно разбить большую простыню на отдельные блоки.
Я сам не программирую, мог что-то исказить, но если не получилось, буду дальше их трусить, попрошу отписаться на форуме. Но я точно знаю, что все переползли на ISP и довольно давно....
TEH3OP:
Спасибо.
Но так и не понял как задать начальное значение float при помощи MOV. У меня выдает ошибку при попытке такой операции. Скриншот ошибки ниже.
Приходится вносить начальное арифметическими операциями, а это как минимум выглядит некрасиво (вносить 0.12 как 12 разделить на 100).
А начальные значения я естественно пытался задавать в энергонезависимую память, с обычными форматами (int, int32) это работало отлично.
Igor:
На вскидку - а у Вас все хорошо с точкой? Вдруг в системных региональных настройках разряды отделяет запятая, а ISPSoft ждёт все же точку? Ну или наоборот. (Программистов чуть позже спрошу...)
TEH3OP:
На точку он ругается "Unknown symbol", а запятая в других местах проекта работает.
Serg:
Можно задавать начальные условия например DMOVR (см. рис.11) в цикле M1002.
Но и обнулять переменные как в рис.12 (D506=5 осталось от предыдущей программы).
Навигация
Перейти к полной версии