昨天,一位工程师朋友和我说:芮工,今年开始用S88标准写程序,确实非常不错,条理清晰,方便交流。和这位工程师电话交流后,建议他写一篇应用心得,晚上就写完发给我,我也分享给关注PLC程序架构设计的朋友。
具体操作: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数据格式。
1, UDT里面增加、删除、修改数据,PLC使用UDT的数据会自动同步。 2,触摸屏调用用UDT之后,UDT里面增加、删除、修改数据,触摸屏里面回自动同步,,非常方便。 一般情况,尽量用UDT。
IO变量一般分4类分开存放:开关量输入输出,模拟量输入输出。 报警和警告用M点,固定报警MB100开始,警告MB200开始。 其他非特殊情况不准用M区。
高内聚:模块的功能单一,只负责一箱任务,单一责任原则,职责明确。 低耦合:降低两个模块之间的相互依赖关系。 比如模拟量控制的变频器,根据高内聚低耦合原则,我们做成2个独立的FB块而不是一个FB块:motor块负责电机手动,自动启停。S-RTI块负责速度转换。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |