Делаем S7 блоки данных из таблицы Excel

По просьбе наших посетителей, данный материал перенесен с сайта plc4good.org.ua, в связи с полной его потерей. Всё возражения принимаются через форму обратной связи.

plc4good.org.ua/view_post.php?id=164

В очередной раз Siemens обновила свое удобное приложение до версии 11, позволяющее, создавать или редактировать блоки данных, используемые в Step7 контроллерах, в удобной среде Excel.

s7dbexcel

Из особенностей: применять вложенные структуры можно, UDT нельзя. Также нельзя указать атрибуты DB (например, только для чтения), их можно добавить после в уже сгенерированный awl.

Загружаем исполняемый файл (CreateS7DB.exe 470kB).

Запускаем его и распаковываем содержимое в нужное место, получаем Create_S7DB_V11.xls.

s7dbexcel

Открываем xls.

s7dbexcel

Вводим необходимый блок данных, здесь использовался пример, который уже есть на вкладке Example (его надо просто скопировать на вкладку DB).
В результате выполнения команды ‘save DB as AWL-File’, получаем файл приблизительно такого вида:.

 

DATA_BLOCK DB 1
TITLE =DB-Comment
AUTHOR : AUTHOR
FAMILY : FAMILY
NAME : NAME
VERSION : 1.2

STRUCT
MotorPara1 : BOOL := FALSE , //Comment 1
MotorPara2 : BYTE := B#16#0 , //Comment 2
MotorPara3 : INT := 0 , //Comment 3
MotorPara4 : DINT := L#0 , //Comment 4
MotorPara5 : WORD := W#16#0 , //Comment 5
MotorPara6 : DWORD := DW#16#0 , //Comment 6
MotorPara7 : REAL := 0.000000e+000 , //Comment 7
MotorPara8 : TIME_OF_DAY := TOD#0:0:0.0 , //Comment 8
MotorPara9 : TIME := T#0MS , //Comment 9
Position1 : STRUCT //Position1
xAxis : DINT := L#0 , //xPos
yAxis : DINT := L#0 , //yPos
zAxis : DINT := L#0 , //zPos
END_STRUCT ,
Position2 : STRUCT //Position2
xAxis : DINT := L#0 , //xPos
yAxis : DINT := L#0 , //yPos
zAxis : DINT := L#0 , //zPos
END_STRUCT ,
END_STRUCT ,
BEGIN
END_DATA_BLOCK

Добавляем в S7 проект, через вставку External source:

s7dbexcel

Открываем вставленный source в редакторе и нажимаем Compile – получаем необходимый блок данных в проекте.
Обратите внимание, на то что макрос excel не проверяет правильность ввода initial и actual value, поэтому в этой точке могут быть сообщения об ошибках от компилятора.

0 0 голоса

Оцените статью!

guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии