孙天亮
级别: 正式会员
精华主题: 0
发帖数量: 15 个
工控威望: 61 点
下载积分: 436 分
在线时间: 14(小时)
注册时间: 2024-09-28
最后登录: 2026-05-19
查看孙天亮的 主题 / 回贴
楼主  发表于: 前天
第三弹来了                                                        

先跟各位大佬们道个歉,最近单位事多,更新断片了,再次抱歉啊!不说废话了上正菜                  

第一弹链接:某城市管道天然气城市门站程序分享(1)上位机:力控程序


第二弹链接:某城市管道天然气城市门站程序分享(2)设备关系及通讯协议

看过第一、二集的老铁都知道,我分享的这套程序总共用了2台西门子200SmartCPU,这次讲的是“PLC_4F”

通讯协议、通讯关系,第二集有,新来的客官可以去翻

这集只介绍PLC程序,说的不对的大佬偷偷指点我一下,毕竟我是小白                  


“PLC_4F” 是由CPU ST60+EM AE04+EM AQ04组成

EM AQ04模块本次没有用到,只是为以后程序增加预留

注意看下边截图ST60,版本2.8,必须是2.8




AE04模块是4路模拟量输入,0/1/2/3分别对应地址AIW16/18/20/22,这个地址是自动分配的,无法更改
对应接线看以下图片


AQ04模块是4路模拟量输出,0/1/2/3分别对应地址AQW32/34/36/38,这个地址是自动分配的,无法更改
对应接线看以下图片


以下是程序解析


一.IO符号表(含注释)




二. 4~20ma模拟量输入

这里说一下,上边提到的CPU版本必须是2.8固件,不是的话,是不支持S_ITR、S_PTI这两个指令的

EN是使能,也就是指令干不干活,这里需要一直读取所以前边接SM0.0,如果不需要一直读取前边做个开关按需读取就行

IN是换算对象(这里是整数),就是模拟量输入端,以AE04模块举例:接模拟量线路接的0+0-,就是AIW16

ISH是转换对象上限,这里一般填27648,运行中AIW16/18有时超27648,所以我这里改成27848了,大家别学我偷懒,比较正规的做法是调节阀门电控执行器上限,还有一种是做个移位指令,当AIW16≥27648,就把27648写入OUT输出地址,这样CPU就不会报错了

lSL是转换对象下限,这里一般填5530,这里输入如果偶尔低于5530,就和上限一样做个移位指令就行

OSH是转换结果上限,这里就是填写仪表的量程上限,我这里是阀门开度百分比,所以是100

OSL:转换结果下限,这里就是填写仪表的量程下限,我这里是阀门开度百分比,所以是0

OUT是转换结果(结果是实数),这里填存储地址,我这里存到V区。举例:把AIW16的数值按5530-27648和0-100(仪表量程)按比例放大或缩小

转换计算方法:OUT = [(OSH - OSL) * (IN - ISL)/(ISH - ISL)] + OSL
翻译过来就是:输出值=仪表量程范围*(输入值-5530)/(27648-5530)+量程下限

.


三. 4~20ma模拟量输出


这部分是预留的,所以SM0.0写的常闭。

IN是换算对象(这里是实数),就是上位机设定值。

OUT是转换结果(结果是整数),以AQ04模块举例:接模拟量线路接的0M 0,就是AQW32。

这里和模拟量输入就是反着来的,输入是把整数(INT)按比例转换成实数(REAL)

转换计算方法都一样:OUT = [(OSH - OSL) * (IN - ISL)/(ISH - ISL)] + OSL
翻译过来就是:输出值=(27648-5530)*(设定值-量程下限)/仪表量程范围+5530




四. 阀门开关程序


这里总共4个阀门电控执行器,程序是一样的,只拿阀1作讲解

M6.0&M6.4是开关阀延时继电器,防止连续开、停、关阀操作电机过载过热烧毁





开阀程序

I2.3是远程就地转换,I3.0是控制柜手动开,M4.0是远程开,I2.2是急停



关阀程序

I2.3为远程就地转换,I2.7为控制柜手动关,M4.4为远程关,I2.2是急停




S7-200 SMART 系统手册 V2.8.zip (1 K) 下载次数:23
PLC_4程序全注释版.zip (12 K) 下载次数:53

到这里就结束了

码字不易        

转载请注明出处         

最后就是感谢各位大佬的捧场,小弟不才有什麽错误欢迎大佬们批评指导     

最后的最后祝大家升官、发财
本帖最近评分记录:
  • 下载积分:+1(丙丙) 热心助人!