PDA

Просмотр полной версии : PLC 100 DCON master



PMA
08.12.2008, 09:02
Добрый день !
Создал DCON мастер для модуля I-7024, четыре аналоговых выхода, настроил строку запроса, посылка по poll time 500 ms, вроде всё в порядке в статусе стоит 3, однако изменения выходного значения не происходит.
При посылке фиксированной строки #030+05.75, значение изменяется
нормально.
В чём может быть дело.

CoDeSys 2.3.9.9
Target 2.05
PLC-100K прошивка 2.05

Филоненко Владислав
08.12.2008, 09:59
Оригинально...
В строке формата задаёте #030[7f]
А исходя из рабочего примера (При посылке фиксированной строки #030+05.75, значение изменяется) должно быть #030[6f]

PMA
08.12.2008, 12:36
При установке формата посылки #010[6f] в поле Status 80, Last Error периодически проскакивает 81, значение естественно не меняется.

Нормальное изменение выхода при посылки строки # 010+05.000.

Если число символов с учётом знака, то формат посылки #010[7f], при этом формате в поле Status 03, но значение на выходе не менятся.

В чём может быть дело?

Филоненко Владислав
08.12.2008, 16:31
К сожалению, сущ. мастер DCON не может генерить лидирующие нули, т.е. посылка +25.555 сгенерится правильно, а +05.333 не получится.
Выход:
1. Генерить строку данных самостоятельно и вставить ещё как #030[7s]

PMA
09.12.2008, 05:43
Понял, спасибо !

PMA
09.12.2008, 13:05
При генерации строки возникают проблемы:
значения переменной из диапазона от 0.001 до 1.000 при
использовании REAL_TO_STRING преобразуются в формате
X.0e-2, значения более 1.0 в формате FLOAT т.е. 1.000
Есть ли возможность запретить генерацию научного формата ?

Филоненко Владислав
09.12.2008, 13:47
Стандартная библиотека это не позволяет.

PMA
10.12.2008, 05:59
Может быть вам доработать модуль DCON Master ?
Это обеспечит нормальную работу со всеми модулями, очень нужно.
Строку мы конечно сгенерируем, но это напрасно потеряное время.

Филоненко Владислав
10.12.2008, 12:45
доработаем, но, т.к. как такового, стандарта DCON не существует, каждый производитель горазд выдумывать свою "изюминку", ИМХО никогда не удастся реализовать все варианты. Поэтому для сложных случаев есть возможность передавать строку как аргумент.

P.S. не забывайте контрольную сумму использовать!