This is topic Пишу программу на st in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
в ней прекрасно выполняются строчки, с последующим сбором цифирь запись_800 :=0x123; запись_801 := 0x00;
но вот напрочь игнорируется запись_800 :=0x123; запись_801 := 0x01;
всё это работает на MODBUS\RTU и по логам обмена, видно что запрос атрибутов сваливается в цикл. Есть подозрение что что-то делаю не так, но что не совсем понятно, может подскажите.
[ 06.06.2011, 11:55: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by Romсheg (Участник № / Member № 3792) on :
Согласно стандарту МЭК ваша строка:
code:
запись_800 :=0x123; запись_801 := 0x00;
должна бы выглядеть вот так:
code:
запись_800 := 16#123; запись_801 := 16#00;
Posted by witcher237 (Участник № / Member № 2272) on :
поправил согласно стандарту, лучше не стало ^_^
в общем кошмарить разработчиков железяки буду на предмет организации альтернативного доступа к данным
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Из лога видно, что по адресу 0x800 успешно записано 0x123, а по адресу 0x801 успешно записано 0x1. Затем резонно выполняются регулярные запросы 3-х регистров с адреса 0x802. Никаких противоречий с текстом программы не видно. Команды записи выполняются в соответствии с последними присвоениями в программе запись_800 :=0x123; запись_801 := 0x01;
Так и должно быть.
М.б., есть смысл более подробно разобрать задачу и пример проекта в непосредственном контакте? Обратитесть в службу техподдержки с файлом *.prj и разъяснениями по постановке задачи.
Posted by witcher237 (Участник № / Member № 2272) on :
"Команды записи выполняются в соответствии с последними присвоениями в программе"
спасибо это объясняет некоторые странности. Есть, к сожалению, потребность изменения конкретной переменной дважды в одной программе.
Проекта как такового нет, есть набор кусков с помощью которых тестируется аппаратура, и которые в перспективе лягут в основу АРМа.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Программа выполняется в полном объеме с циклом вызывающего канала. Поэтому в пределах одной программы переприсвоить значения одному каналу нельзя. Да и канал этот будет отрабатывать со своим циклом, да еще и в асинхронном потоке. Надо обсуждать задачу, ее постановку и принципиальные подходы к решению.
Регистриуйте свой продукт и обращайтесь в службу техподдержки.