Controller free тензо м linux

Содержание
  1. RAZRAB.RU
  2. Передача данных с терминала Тензо-М на контроллер Siemens
  3. Передача данных с терминала Тензо-М на контроллер Siemens
  4. Re: Передача данных с терминала Тензо-М на контроллер Sieme
  5. Re: Передача данных с терминала Тензо-М на контроллер Sieme
  6. Re: Передача данных с терминала Тензо-М на контроллер Sieme
  7. Re: Передача данных с терминала Тензо-М на контроллер Sieme
  8. Re: Передача данных с терминала Тензо-М на контроллер Sieme
  9. Re: Передача данных с терминала Тензо-М на контроллер Sieme
  10. Re: Передача данных с терминала Тензо-М на контроллер Sieme
  11. Re: Передача данных с терминала Тензо-М на контроллер Sieme
  12. Часто задаваемые вопросы (FAQ). Весоизмерительные преобразователи
  13. Какие версии ПО существуют для ТВ-006С?
  14. Какой алгоритм дозирования лучше выбрать в версии С6ХХ для ТВ-006С
  15. Как переключить аналоговый выход ТВ-006С с 4. 20мА на другой тип выхода?
  16. Сколько преобразователей можно подключить источнику питания БП220 –ТВ-006
  17. Отсутствует связь весового терминала с персональным компьютером или дублирующим индикатором
  18. Подключение к весовому терминалу нескольких компьютеров или дублирующих индикаторов одновременно
  19. Проверка работоспособности интерфейсных кабелей и интерфейса весового терминала технологическими программами
  20. Описания протоколов обмена весовых терминалов с внешними устройствами
  21. Назначение выводов разъёма последовательных интерфейсов RS-232 и RS-485 весовых терминалов
  22. Тема: Протокол обмена Тензо-М
  23. Протокол обмена Тензо-М

RAZRAB.RU

RAZRAB.RU Форум по автоматизации производства

Передача данных с терминала Тензо-М на контроллер Siemens

Передача данных с терминала Тензо-М на контроллер Siemens

Сообщение dimon64 » 02 мар 2017, 13:10

Re: Передача данных с терминала Тензо-М на контроллер Sieme

Сообщение Михайло » 02 мар 2017, 16:07

Ну если не нравится вариант с OPC-сервером, то тогда следует тянуть RS232 до контроллера. Надо только коммуникационный процессор CP340 или CP341 заказать. Ну и длина кабеля RS232 достаточно сильно ограничена, это тоже надо учитывать.

А так у Вас уже все готово, чтобы передать данные в ПЛК. Создай соответствующие переменные в проекте Step7, затем свяжи с этими переменными тэги панели (вкладка HMI Tags в WinCC Flex), в свойствах этих тэгов выбрать способ обновления данных Cyclic continuous. И в принципе все, должно заработать.
Я сейчас затрудняюсь ответить точно, но мне кажется придется отдельно сделать циклическое перекладывание тэгов OPC в тэги ПЛК, если напрямую не заработает.

Re: Передача данных с терминала Тензо-М на контроллер Sieme

Сообщение dimon64 » 02 мар 2017, 16:42

Михайло писал(а): Ну если не нравится вариант с OPC-сервером, то тогда следует тянуть RS232 до контроллера. Надо только коммуникационный процессор CP340 или CP341 заказать. Ну и длина кабеля RS232 достаточно сильно ограничена, это тоже надо учитывать.

А так у Вас уже все готово, чтобы передать данные в ПЛК. Создай соответствующие переменные в проекте Step7, затем свяжи с этими переменными тэги панели (вкладка HMI Tags в WinCC Flex), в свойствах этих тэгов выбрать способ обновления данных Cyclic continuous. И в принципе все, должно заработать.
Я сейчас затрудняюсь ответить точно, но мне кажется придется отдельно сделать циклическое перекладывание тэгов OPC в тэги ПЛК, если напрямую не заработает.

Re: Передача данных с терминала Тензо-М на контроллер Sieme

Сообщение Михайло » 02 мар 2017, 18:06

Re: Передача данных с терминала Тензо-М на контроллер Sieme

Сообщение dimon64 » 02 мар 2017, 19:11

Re: Передача данных с терминала Тензо-М на контроллер Sieme

Сообщение Михайло » 02 мар 2017, 20:35

Re: Передача данных с терминала Тензо-М на контроллер Sieme

Сообщение dimon64 » 02 мар 2017, 21:03

Re: Передача данных с терминала Тензо-М на контроллер Sieme

Сообщение Михайло » 04 мар 2017, 05:03

Вам же нужно выполнить программируемое действие — переложить данные из одних тэгов в другие. Я знаю только два вида таких действий — это скрипты (scripts), запланированные задачи (scheduled tasks) и функции в событиях (event, function).

Ну самое простое, что мне представляется, это пересылка тэгов с использованием событий. Смысл такой: при циклическом изменении значения тэга Update будет вызываться событие Value Change, а там уже будет происходить пересылка нужных данных.
1. Создать булевый тэг «Update» в ПЛК и HMI так, чтобы управлять им с ПЛК.
2. В свойствах тэга обязательно выставить Acquisition mode = Cyclic continuous.
3. В событии Value Change созданного тэга добавить функции SetTag, которые будут копировать необходимые тэги.

Re: Передача данных с терминала Тензо-М на контроллер Sieme

Сообщение dimon64 » 09 мар 2017, 10:34

Михайло писал(а): Вам же нужно выполнить программируемое действие — переложить данные из одних тэгов в другие. Я знаю только два вида таких действий — это скрипты (scripts), запланированные задачи (scheduled tasks) и функции в событиях (event, function).

Читайте также:  Как почистит диспетчер задач windows

Ну самое простое, что мне представляется, это пересылка тэгов с использованием событий. Смысл такой: при циклическом изменении значения тэга Update будет вызываться событие Value Change, а там уже будет происходить пересылка нужных данных.
1. Создать булевый тэг «Update» в ПЛК и HMI так, чтобы управлять им с ПЛК.
2. В свойствах тэга обязательно выставить Acquisition mode = Cyclic continuous.
3. В событии Value Change созданного тэга добавить функции SetTag, которые будут копировать необходимые тэги.

Источник

Часто задаваемые вопросы (FAQ). Весоизмерительные преобразователи

Какие версии ПО существуют для ТВ-006С?

Версия C6.XX предназначена для использования в суммирующих или вычитающих дозаторах;
Алгоритмы дозирования:
0 — простая отсечка;
1 – суммирующий дозатор;
2 – вычитающий дозатор с автоматической загрузкой бункера;
3 – вычитающий дозатор с загрузкой бункера после подачи сигнала «пуск»;
4 – суммирующий дозатор с загрузкой по первой команде «пуск» и выгрузкой по второй команде «пуск»;
5 – суммирующий дозатор, аналогичный алгоритму 1 , но с автоматической настройкой предварений.

Версия C20 — двухкомпонентный дозатор с режимом «обучения» — автоматической подстройкой предварений.

Версия C23 — двухкомпонентный дозатор, в котором устанавливается время паузы включения 2-го выхода для загрузки 2-го компонента. Можно блокировать загрузку второго компонента с помощью сигнала, поданного на вход 1. После снятия сигнала с входа 1 загрузка второго компонента производится повторным нажатием на кнопку «Пуск». Вход 2 – «стоп/пауза». Выход 3 предназначен для сигнализации окончания дозирования или выгрузки. Вход 4 – «Пуск».

Версия C40 — версия предназначена для использования в 4-х компонентных дозаторах, в которых выходы (1, 2, 3 и 4) включаются при достижении дозы. Вход 3 используется для обнуления, а вход 4 – для разрешения дозирования.

Версия C42 — версия аналогична версии С40, в которую добавлен алгоритм простой отсечки по двум компонентам — “AL 1”. Для этого алгоритма устанавливается время паузы включения 2-го выхода для загрузки 2-го компонента. Выход 3 предназначен для сигнализации окончания дозирования.

Версия C43 — версия аналогична версии С42, в которой в алгоритме “AL 0” при уменьшении веса ниже заданной дозы для данного выхода соответствующий выход выключается.

Какой алгоритм дозирования лучше выбрать в версии С6ХХ для ТВ-006С

Это зависит от оборудования, которое вы используете. Консультация с отделом автоматики. Внутренний телефон 408, 409

Как переключить аналоговый выход ТВ-006С с 4. 20мА на другой тип выхода?

Для переключения типа аналогового выхода используйте перемычки J1 и J2, находящиеся на верхней плате ТВ-006С. Файл с положением этих перемычек для разных типов выхода находится здесь.

Сколько преобразователей можно подключить источнику питания БП220 –ТВ-006

Преобразователь ТВ-006С состоит из двух частей (плат). Одна часть (плата) – измерительная. Вторая часть – плата дискретных входов/выходов. Каждая часть должна питаться от разных источников питания (гальванически не связанных). К одному источнику БП220-ТВ-006 в зависимости от количества датчиков можно подключить два или три преобразователя ТВ-006С (только их измерительные части). Не объединяйте питание измерительной части с питанием платы дискретных входов/выходов!

Отсутствует связь весового терминала с персональным компьютером или дублирующим индикатором

Возможные причины:

  • Интерфейсный кабель неисправен или сделан неправильно

Проверить исправность интерфейсного кабеля.
Назначение контактов интерфейсного разъёма терминала и схемы интерфейсных кабелей смотрите в ответах на вопросы «Назначение выводов разъёма последовательных интерфейсов RS-232 и RS-485», «Схема кабеля для интерфейса RS-232» и «Схема кабеля для интерфейса RS-485» ниже.

  • Подключение к отсутствующему интерфейсу

В весовых терминалах ТВ-003/05Д старых годов выпуска устанавливался только один из двух последовательных интерфейсов: RS-232 или RS-485. В новых весовых терминалах устанавливается оба интерфейса.
Распространённым случаем является попытка подключить весовой терминал ТВ-003/05Д по интерфейсу, который в нём не установлен.
Проверить, установлен ли в терминале ТВ-003/05Д соответствующий интерфейс, можно по маркировочной табличке, которая находится на передней или задней панели терминала (напротив названия интерфейса на табличке должен стоять красный квадратик или какой-нибудь другой знак).

  • Подключение к обоим интерфейсам терминала (RS-232 иRS-485) сразу

Подключение интерфейсных кабелей сразу к двум интерфейсам (RS-232 и RS-485) не ведёт к отказу весового терминала, но в этом случае компьютер не может связаться с весовым терминалом.
В этом случае необходимо отключить от весового терминала кабель неиспользуемого интерфейса.

  • Не настроены параметры обмена весового терминала с компьютером(с дублирующим индикатором)

При установке параметров связи весового терминала с внешним устройством (компьютером или дублирующим индикатором) необходимо установить одинаковыми на весовом терминале и на внешнем устройстве следующие параметры связи (если в качестве внешнего устройства выступает персональный компьютер, то настраивать надо параметры связи программы, запускаемой на персональном компьютере):

    • Сетевой адрес весового терминала, который внешнее устройство будет опрашивать или прослушивать по последовательному интерфейсу.
    • Скорость работы последовательного интерфейса.
    • Протокол обмена информацией по последовательному интерфейсу ( «6.43» или «Тензо-М»). Терминалы ТВ-003/05Д могут работать только с одним из этих протоколов, в зависимости от прошивки. Некоторые из новых терминалов могут работать с обеими протоколами (см. ответ на вопрос «Описания протоколов обмена весовых терминалов с внешними устройствами»).
    • При настройке параметров связи для программы на ПК указать последовательный порт ПК, к которому подключен интерфейс терминала (COM1, COM2 и т. д.).
    • При настройке параметров связи дублирующего индикатора или программы на персональном компьютере выбрать их режим работы — активный или пассивный. В активном режиме работы дублирующий индикатор или компьютер самостоятельно производят опрос весового терминала. В пассивном режиме работы дублирующий индикатор или компьютер не производят опрос весового терминала, а занимаются прослушиванием канала связи.
Читайте также:  Установка windows по порядку

Внимание. Пассивный режим используется при подключении к одному весовому терминалу нескольких компьютеров или дублирующих индикаторов. В этом случае только одно из подключенных к терминалу устройств устанавливается в активный режим работы и ведёт опрос терминала. Все остальные устройства устанавливаются в пассивный режим и прослушивают обмен между терминалом и активным устройством.

  • К одному интерфейсному кабелю подключены терминалы, работающие по старому протоколу связи («6.43») и по новому («Тензо-М»)

При подключении к одному интерфейсному кабелю (обычно это происходит при подключении по интерфейсу RS-485) нескольких весовых терминалов, часть из которых работает по старому протоколу обмена «6.43», а часть — по новому протоколу «Тензо-М», компьютер не сможет установить связь с терминалами, работающими по новому протоколу обмена.
Для смены протокола обмена на терминалах марки ТВ-003/05Д необходимо перепрошить ПЗУ терминала, для чего надо обратиться к изготовителю.

  • Нет связи терминала с компьютером при соединении по интерфейсу USB
    • На компьютере не установлен драйвер «Tenso-M USB driver», необходимый для соединения терминала с компьютером по стандартному интерфейсу USB. Инструкция по установке драйвера — смотри файл «Инструкция по установке драйвера USB».
    • Не настроены параметры обмена. Смотри причину «Не настроены параметры обмена весового терминала с компьютером» выше.

Подключение к весовому терминалу нескольких компьютеров или дублирующих индикаторов одновременно

Возможно подключение к весовому терминалу по последовательному интерфейсу нескольких компьютеров и/или дублирующих индикаторов одновременно.
Поскольку в протоколах обмена информацией для весовых терминалов предусмотрено только одно активное устройство (устройство, ведущее опрос весового терминала), то в активный режим работы необходимо переключить только один компьютер или дублирующий индикатор (переключение между активным и пассивным режимами работы смотри в руководствах на конкретные учётные программы или дублирующие индикаторы).
Все остальные внешние устройства необходимо переключить в пассивный режим работы. Тогда они будут прослушивать информационный поток между весовым терминалом и активным устройством.

Проверка работоспособности интерфейсных кабелей и интерфейса весового терминала технологическими программами

Для проверки связи с компьютером весовых терминалов со старым протоколом обмена («6.43») используется программа «Controller Free». Описание по настройке программы «Controller Free» смотри в руководстве по настройке.
Для проверки связи с компьютером весовых терминалов с новым протоколом обмена («Тензо-М») используется любая из версий программы «ProTest».

Описания протоколов обмена весовых терминалов с внешними устройствами

Для обмена с внешними устройствами весовые терминалы «Тензо-М» могут использовать два протокола связи:

  • Старый протокол обмена «6.43». С этим протоколом работают терминалы ТВ-003/05Д с версиями прошивки «12.ХХ», «14.ХХ» и «16.ХХ».
  • Новый протокол обмена «Тензо-М». С этим протоколом работают терминалы ТВ-003/05Д с версиями прошивки «SC-XXX» и «DD-XXX», а так же все новые весовые терминалы.
  • Некоторые типы новых весовых терминалов могут работать с обоими протоколами связи, при этом требуемый протокол связи выбирается при настройке режимов работы терминала. Более подробно смотри руководства по эксплуатации на соответствующие весовые терминалы.

Описание протокола «6.43» смотри в «Протокол обмена 6.43».
Описание протокола «Тензо-М» смотри в «Протокол обмена ‘Тензо-М’».

Более подробнее ознакомиться с описанием протоколов обмена Вы сможете перейдя по ссылке.

Назначение выводов разъёма последовательных интерфейсов RS-232 и RS-485 весовых терминалов

№ контакта
9-контактного
разъёма

№ контакта
25-контактного
разъёма

Источник

Тема: Протокол обмена Тензо-М

Опции темы
Отображение

Протокол обмена Тензо-М

Приобрели пару преобразователей весоизмерительных, фирмы Тензо-М, но при покупке не обратили внимание что данные преобразователи не имеют возможности обмена по протоколу Modbus. Возникла сложность в настройке обмена между программируемым контроллером и преобразователем, в частности не могу настроить обмен информацией между приборами.
Пример настройки протокола был взят с темы на форуме http://www.owen.ru/forum/showthread. D2%E5%ED%E7%EE
Но должного результата это не дало.
Суть задачи такова, необходимо просто опрашивать преобразователь, в ответ получать значение веса.
Порт инициализирован, а вот дальше не могу получить ответ на команду, скорее всего либо задание команды кривое, потому что в кодесисе в проекте имя задающей команды выглядит Я$01АУяя$, либо еще в чем то проблема.

Читайте также:  Finder mac os big sur

Подскажите в какую сторону копать, либо дайте простенький пример обмена контроллера и устройства по нестандартным протоколам, а то те, которые есть в FAQе уж больно замудренные.

Вот пример программы для опроса преобразователя, команда подается на считывание серийного номера прибора
Но в ответ ничего не приходит

Последний раз редактировалось imaks; 23.08.2013 в 07:46 .

Зачем переменная i? Разберитесь с функционалом ton1 и tr1. И главное — записываете и считывайте в разных циклах. И внимательно посмотрите как правильно записывать и считывать — в тех же примерах

На основе все тех же примеров получилась вот такая программа опроса тензодатчика (Вес нетто), вроде работает, но пока в боевом режиме опробовать не получилось.
Столкнулся с такой проблемой, когда командой 2 обнуляю показания датчика, при следующих опроса значения в кодесисе «зависают» на последнем до обнуления командой.
Возможно, что при подключении на объект проблема исчезнет, но хотелось бы перестраховаться.

snd_str:=’$FF$02$C2$8F$FF$FF’;
Команда опроса преобразователя
FF — начало
02 — номер устройства
C2 — Сама команда
FF$FF — конец
А вот что значит 8F? в описании к устройству на этом месте контрольная сумма, но я не могу понять каким образом она высчитывалась? либо ее необходимо рассчитывать в ручную? Тогда подскажите алгоритм, пожалуйста

Начнем с того что нет ли ошибки тут:

«byStopBits:BYTE; 0 = один стоп бит, 1=полтора, 2=два»
попробуй SZ2:=SysComRead(com_num,ADR(CM2_READ_BUF),20, 0 ); поставить
И самое главное разнести чтение и передачу по циклам с помощью оператора CASE

В плане обмена уже вопрос решен, вес с преобразователя считывается, как и записывается команда на обнуление с контроллера
Теперь вопрос возник именно в задание команды, в примере команда задавалась snd_str:=’$FF$02$C2$8F$FF$FF’;, где как я уже описал все переменные известны, кроме 8F.
В описании к протоколу Тензо-М на данном месте числится CRC контрольная сумма, но вот как ее посчитать я не знаю.

Про Стопбит да, мой косяк, но в прошивке Tenzo которую я скинул выше, обмен уже настроен, остался только вопрос не решенный с контрольной суммой.
Пока данная команда мне подходит, но если придется использовать другую команду, вот тогда и возникнет проблема с CRC.

Вот на С:
Пример программы расчёта CRC8 на языке C
/*
Name : CRC-8
Poly : 0x31 x^8 + x^5 + x^4 + 1
Init : 0xFF
Revert: false
XorOut: 0x00
Check : 0xF7 («123456789»)
MaxLen: 15 байт(127 бит) — обнаружение
одинарных, двойных, тройных и всех нечетных ошибок
*/
unsigned char Crc8(unsigned char *pcBlock, unsigned char len)
<
unsigned char crc = 0xFF;
unsigned char i;

while (len—)
<
crc ^= *pcBlock++;

Раз уж тема Тензо-м уже есть подскажите никто не писал код в CoDeSys 2.3 для обмена по протоколу Тензо-м (нестандартному)?
Особенно интересно не написал ли кто кода для расчёта CRC по предложенному алгоритму?

И сразу попрошу, если кто-нибудь может, переведите на ST вот этот код:
(Ибо я ни бельмеса не понимаю в этой арабской вязи)

Ниже приведен пример формирования CRC в виде ассемблерной вставки для C++
BYTE CDeviceTestDlg::CRCMaker(BYTE b_input, BYTE b_CRC)
<
__asm
<
mov al,b_input
mov ah,b_CRC
mov cx,8
mod1: rol al,1
rcl ah,1
jnc mod2
xor ah,69h
mod2: dec cx
jnz mod1
mov b_CRC,ah
>
return b_CRC;
При формировании CRC используется примитивный неприводимый порождающий полином в 8-й степени
P(X)-101101001b (младшая часть 69h). На передающей стороне в конце массива используется нулевой байт (00h).
Подставляя в переменную b_input байты массива, включая нулевой байт, вычисляется CRC код с помощью
подпрограммы CRCMaker. При передаче массива нулевой байт заменяется вычисленным байтом CRC. На
принимающей стороне вычисляют CRC, подставляя в b_input байты принятого массива, включая принятый CRC
код. Если вычисленный CRC будет равен нулю, то массив принят правильно. Вначале приема/передачи перед
вычислением CRC в переменную b_CRC записывается ноль. По вставленному и выброшенному FEh CRC не
вычисляется.

вот кусок для истинных ценителей DELPHI

function crc8_69(datapull:array of byte;offset:byte):byte;
var
crcCode:byte;

for I := offset to Length(datapull) do
begin
Data:=datapull[i];

asm
mov al,data
mov ah,crcCode
mov cx,8
@m1:rol al,1
rcl ah,1
jnc @m2
xor ah,69h
@m2:dec cx
jnz @m1
mov crcCode,ah
end;

Источник

Оцените статью
Adblock
detector