发表于:2017/6/30 11:42:19
#0楼
题外话:最近做一个化工配料项目,20种不同种类的液体按不同比例和加料顺序混合,最后罐装成成品,
由于这个项目加料顺序这块用梯形图实现起来逻辑比较复杂,最后主要程序都是用SCL来实现了,效果还不错。
步入正题:主程序完成后,还得写手动程序不是,手动这块主要是阀门控制,在TP1200触摸屏上面进行操作,便于日常阀门
清洗维护维修等。这个项目用到几十个气动球阀,如果一个一个用梯形图来写起保停,也要写多很条网络,写成块调用也要写很多的块。
下面分享我的方法,(也是初次用SCL做项目,讲的比较罗嗦,高手不要见笑,欢迎指点)
算法原型 SCL起保停的语法,运行 :=运行 OR 启动 AND NOT 停止 AND NOT 急停;
为了方便用FOR 循环 所以改变为数组 运行[1] :=运行[1] OR 启动[1] AND NOT 停止[1] AND NOT 急停;
那么30个数组就代表了30个阀门,
用FOR循环写一下,
FOR #i := 1 TO 30 BY 1 DO
运行[i] :=运行[i] OR 启动[i] AND NOT 停止[i] AND NOT 急停;
END_FOR;
下面是在博途中实现的步骤,
建立PLC数据类型,并在里面写好变量
建立一个DB块,在DB块里建立数组变量,并选择刚才建立的PLC数据类型
建立一个SCL的FC块,并建立一个临时变量i
最后在FC里用FOR循环进行程序编写。
附上程序
最后谢谢大家,不知道讲清楚没有。 :)
由于这个项目加料顺序这块用梯形图实现起来逻辑比较复杂,最后主要程序都是用SCL来实现了,效果还不错。
步入正题:主程序完成后,还得写手动程序不是,手动这块主要是阀门控制,在TP1200触摸屏上面进行操作,便于日常阀门
清洗维护维修等。这个项目用到几十个气动球阀,如果一个一个用梯形图来写起保停,也要写多很条网络,写成块调用也要写很多的块。
下面分享我的方法,(也是初次用SCL做项目,讲的比较罗嗦,高手不要见笑,欢迎指点)
算法原型 SCL起保停的语法,运行 :=运行 OR 启动 AND NOT 停止 AND NOT 急停;
为了方便用FOR 循环 所以改变为数组 运行[1] :=运行[1] OR 启动[1] AND NOT 停止[1] AND NOT 急停;
那么30个数组就代表了30个阀门,
用FOR循环写一下,
FOR #i := 1 TO 30 BY 1 DO
运行[i] :=运行[i] OR 启动[i] AND NOT 停止[i] AND NOT 急停;
END_FOR;
下面是在博途中实现的步骤,
建立PLC数据类型,并在里面写好变量
建立一个DB块,在DB块里建立数组变量,并选择刚才建立的PLC数据类型
建立一个SCL的FC块,并建立一个临时变量i
最后在FC里用FOR循环进行程序编写。
附上程序
附件:
[本地下载]最后谢谢大家,不知道讲清楚没有。 :)
[此贴子已经被作者于2017/6/30 11:49:55编辑过]