This is topic Отправка данных через UniversalPLC_type. in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/001308.html

Posted by Ave Oleg (Участник № / Member № 6246) on :
 
По сообщению от Nico 01-03-2014 13:28 из топика: Подключение принтера VideoJet 43s

================================

1) создать call.move. 34atr становить = 8.
создать аргументы input
создать output
привязать к строкам если нужно
ничего сложного нет

2) аргументы all.vector не причем
Параметр=8,9 – записывает в аргумент OUT результат конкатенации строковых представлений предшествующих аргументов IN (если Параметр=9 – через пробел). Если к аргументу OUT привязан атрибут (140, ARG00) канала CALL, отличного от CALL.STRING, коды символов итоговой строки записывается в аргументы CALL следующим образом:
в аргумент SINT/USINT – 1 символ;
в аргумент INT/UINT – 2 символа;
в аргумент другого типа данных – 4 символа;
4) результат направить куда надо
3) отработать например

====================================

Nico, благодарю Вас за помощь, но появились еще вопросы:
Не могу понять, к примеру нужно передать на принтер в ASCII коде сообщение:

Тип:X Номер:Y Оператор:Z

где X,Y - слова, Z - число и они могут меняться.

Для проверки результата конкатенации CALL.MOVE хочу склеить 2 слова и вывести их на ГЭ"Текст". С числами при аргументах числового типа это получается, а со словами и аргументах типа String нет. Да и что/как тогда записать в параметр UniversalPLC_type Дополнительно SENDCMD = ??? ASCII;
Слова Тип: Номер: Оператор: это постоянные значения. Получается их можно уже сразу забить в в параметр Дополнительно? Но как, вы могли бы объяснить?
 
Posted by Nico (Участник № / Member № 5342) on :
 
для хранения сток использовать Call.String

.аргументы call.move залинкованы на аргуметы call.string и такие аргументы не должны быть STRING

результат смотрим в аргументе CALL.string привязанном к output аргументы call.move
 
Posted by Ave Oleg (Участник № / Member № 6246) on :
 
Спасибо, Nico!
"...результат смотрим в аргументе CALL.string привязанном к output аргументы call.move..." с числами этот вариант работает, а со словами все равно нет.
Но получилось по другому [Улыбка / Smile] Out аргумент call.move привязал к call.string по атрибуту Комментарий. Теперь выходят сложенные слова на ГЭ "Текст" Работает!! Однако слова введеные через ГЭ "Кнопка" передают не более 4-х символов.
Это получается еще и call.ChGrougReq нужно создавать для передачи большего количества символов? Или же для каждой кнопки делать индивидуальный call.string с привязкой по атрибуту Комментарий?
 
Posted by Nico (Участник № / Member № 5342) on :
 
.У call.string ВСЕ аргументы должны быть String
и не привязаны быть привязаны не к чему

..У call.move аргументы НЕ должны быть String и к ним привязаны call.string аргументы

...аргумент call.screen в который вводится слово
должен быть String и к нему привязан call.string аргумент
 
Posted by Ave Oleg (Участник № / Member № 6246) on :
 
Nico, спасибо большое, теперь работает!

Теперь нужно передать SENDCMD = <команда>; ASCII; на источник UniversalPLC_type (на принтер). Получается такая связка:
1. Данные из call.string складываются через аргументы call.move. (Это все работает!)
2. Далее идут из call.move в call.vector по атрибуту 47,MF. (Правильно ли?)
3. С call.vector данные идут на привязанный к нему источник UniversalPLC_type т.е. на принтер.

4.Правильно ли составлена связка?
5.Назначение Com-порта - Host Variant?
6.Можно ли управлять call.vector подавая на его атрибут "Состояние" значение 1 или 0 из ST программы?
 
Posted by Nico (Участник № / Member № 5342) on :
 
1-5 вроде да.
6 да. Но отслеживать отработку у выключать канал
Сложно. Наверное лучше output или период однократно
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2