西门子触摸屏IO 博途IO io列表显示 有说明书介绍怎么程序使用 可以更改到西门子任意尺寸的触摸屏上 2个页面显示所有IO状态灯和文本内容 自编的二次开发程序功能块 不用再一个个扣变量关联变量 节约大量编程时间提高工作效率 原本几个小时的工作量 只要30秒通过复制粘贴就能解决 程序内容很短通俗简单易懂 每段程序都有注释和解释 程序好理解先上硬菜看这段结构体定义TYPE IO_Monitor : STRUCT // 每个IO点包含信号灯和文本描述 Lamp_Status : BOOL; // 状态灯变量 IO_Comment : STRING[20]; // 显示文本 END_STRUCT END_TYPE这个结构体就像打包盒把每个IO点的显示要素装一起。实际项目里我直接创建了IO_Monitor类型的数组1000个点也就分分钟的事。HMI画面上整活的关键在于动态生成 生成IO显示元素的脚本 For i 0 To 99 Step 1 复制模板元素 CreateDynamicObject IO_Template, IO_Element i 设置X坐标偏移量 SetProperty IO_Element i, Left, 50 (i Mod 10)*120 绑定变量 SetTagPrefix HMI_Tag_, i*2 Next这个脚本相当于印刷机原本手动排列的元件变成流水线生产。注意120像素的间距参数不同尺寸屏改这个数就行从4寸到22寸屏通吃。西门子触摸屏IO 博途IO io列表显示 有说明书介绍怎么程序使用 可以更改到西门子任意尺寸的触摸屏上 2个页面显示所有IO状态灯和文本内容 自编的二次开发程序功能块 不用再一个个扣变量关联变量 节约大量编程时间提高工作效率 原本几个小时的工作量 只要30秒通过复制粘贴就能解决 程序内容很短通俗简单易懂 每段程序都有注释和解释 程序好理解变量关联才是重头戏看这个取巧的地址计算// 计算实际IO地址 #IO_Address : DB INT_TO_STRING(#DB_Number) .DBX INT_TO_STRING((#IO_Index-1)*2);通过索引号自动拼装DB块地址彻底告别手动输入。现场调试时发现个彩蛋——修改DB块编号后所有关联自动更新甲方爸爸直呼专业。做完这个功能块后实测新建IO监控页面的操作变成复制结构体数组粘贴脚本调整列数参数原本密密麻麻的变量表现在变成整齐的二维码阵列状态异常时红灯带文字闪烁效果比老外图纸上的示意图还直观。最近把这个模板用在TP2200屏上200多个IO点铺满两屏刚好。更爽的是维护时改个描述文字所有相关画面自动同步。项目验收时甲方盯着自动刷新的IO状态看了十分钟那眼神跟看魔术表演似的。