"三阶段"优秀工程师之路
1、基础阶段:博途PLC技术。
2、中级阶段:博途与C#高级语言技术。
3、高级阶段:PLC标准化编程方法。
标准化方法之路!
昨天,一位工程师朋友和我说:芮工,今年开始用S88标准写程序,确实非常不错,条理清晰,方便交流。和这位工程师电话交流后,建议他写一篇应用心得,晚上就写完发给我,我也分享给关注PLC程序架构设计的朋友。
一、按照S88层级调用,Unit—EM-CM-库
具体操作:OB1--FB1--Uniit--(EM1,EM2,EM3,,,U1.1,U1.2,U1.3,,,)
程序只用FB,非特许情况不用FC,且FB调用一定要用多重背景数据块(数据块太多会管理混乱,多重背景数据块在静态变量里面看不到)。为何只用FB,FB编程时需要的中间变量,可以在静态变量里面增加,而不必要去全局数据库增加一个变量,全局数据块这种中间变量太多,也是会引起管理混乱。
U1.1_数据范围限制:需要触摸屏设置的参数统一在这里做最大与最小值限制。
U1.2_自动控制:整台设备的自动运行程序。
CM里面基本都是调用电机,电磁阀等元件库。
二、报警与警告
触摸屏报警界面有实时报警跟历史报警。
报警:会引起停机的故障,如变频器故障,气缸异常,压缩空气气压过低等,发生故障时,一般需要自锁,复位才能解锁。
警告:运行中的警告,提示等,如缺料,堵塞等。一般不自锁。
三、其他功能
目前只想到时钟读取与设置,方便触摸屏与PLC做时钟同步。
四、库
目前做的库不多,主要是电机跟气缸。
特别要说明的是5色灯库,符合EN-60204-1:2018,红色1S闪亮:故障报警。黄1S闪亮:警告提示。蓝色闪亮:手动模式。蓝色常亮:半自动模式。绿色闪亮:准备就绪。绿色常亮:系统运行。白色常亮:PLC运行兼电源指示。蜂鸣器常响:故障报警。蜂鸣器断续响:警告。
远程站离线监测:DeviceStates监控远程ET200,伺服掉线故障,做成库,每次使用的时候就不用查手册。
五、全局数据块
参数设置:需要在触摸屏设置的参数,单独做一个数据块方便管理,也方便做配方和掉电保持。需要在U1.1数据范围限制做最大,最小限制。
运行数据:下面表格的数据,符合S88,然后增加了几个自己常用的数据。
数据块1:电机,气缸,自动运行等的数据块,一般情况都用UDT数据格式。
六、PLC数据类型UDT
1, UDT里面增加、删除、修改数据,PLC使用UDT的数据会自动同步。
2,触摸屏调用用UDT之后,UDT里面增加、删除、修改数据,触摸屏里面回自动同步,,非常方便。
一般情况,尽量用UDT。
七、PLC变量
IO变量一般分4类分开存放:开关量输入输出,模拟量输入输出。
报警和警告用M点,固定报警MB100开始,警告MB200开始。
其他非特殊情况不准用M区。
八、高内聚低耦合
高内聚:模块的功能单一,只负责一箱任务,单一责任原则,职责明确。
低耦合:降低两个模块之间的相互依赖关系。
比如模拟量控制的变频器,根据高内聚低耦合原则,我们做成2个独立的FB块而不是一个FB块:motor块负责电机手动,自动启停。S-RTI块负责速度转换。
总结:S88标准是自动化程序设计的基石。
工程师作者的微信
非诚勿扰
PLC标准化的技术路线讲解视频:S88标准、技术架构和不断迭代
加入博途之友,与优秀工程师有约
芮老师的书籍(京东和当当可以购买)