跑马灯程序开发与应用
自动化项目应用中我们经常需要实时映射一些关键设备的工位执行工况,如传输链产品位置传递,分度盘盘流信息等...是不是很熟悉的样子?其实这块真正应用好还是有一定难度的,高速环境下是否能实时处理,通讯周期等,CPU与人机交互显示等,某些特殊扫描周期甚至无法做到监测,但逻辑是存在的。
今天我们来聊聊跑马灯的开发与应用,有不足处望及时给予指正。
以汇川开发环境
功能要求:程序尽量简洁
项目环境:Inoproshop V1.73
硬件组态,CPU AM402及轴SV660N
支持EtherCAT最高500us扫描循环
功能要求实现:
显示分度盘盘流工位工况
设:分度盘30个工位,盘位为12度
变量定义:
比较值: lreal;
灯号: INT;
跑马灯 : ARRAY[1..30] OF BOOL;
程序:
IF master.fActPosition-比较值>12 THEN
比较值:=比较值+12; FOR 灯号:=1 TO Index DO
跑马灯[Index -灯号]:=跑马灯[(Index -1)-灯号]; //主盘转时触发
END_FOR
ELSIF master.fActPosition<3 THEN //第一个角位触发
跑马灯[1]:=TRUE;
比较值:=0 ;
灯号:=0;
END_IF
IF 跑马灯[灯号] AND 跑马灯[灯号+1] THEN //前后触发时关闭前级
跑马灯[灯号]:=FALSE;
END_IF
重点:
盘在高速转时master.fActPosition位置值一直在快速变化。
经过仿真我们很实用的实现了项目的设计与应用。
案例经过反复推敲,
可灵活应用其他多样性上开发。
谢谢大家!
作者: 蔡双春
职务:电气工程师
个人简介:剑控专家组成员
多年工业自动化项目设计实施经验,熟悉西门子,三菱,AB等主流工控系统。
2024年01月