PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 180|回复: 0

[西门子] [连载3]博图V15结构化文本编程程序分行

[复制链接]
发表于 2024-7-22 09:02:07 | 显示全部楼层 |阅读模式
>

工控多年的公众号运营者
我经常分享原创技术内容
内容涉及到工业多个方面
分享新知识带你一起进步




结构化文本编程(博图中称为SCL),可谓是“用一时爽一时,一直用,一直爽”。


尤其是在参与运算的时候,真是方便的不要不要的了。
首先不用定义很多的中间变量。因为定义中间变量的话,要定义不少类型的数据,如果定义多了,程序里就会存在很多中间变量。
如果变量再规划的不好,那就乱糟糟了。
然而,结构话文本可以不需要定义很多临时变量。



最近做S7-1214C/DC/DC/DC的一个项目,Main(OB1)为梯形图,后来在梯形图中使用SCL编程,再后来调用的FC、FB,大多采用的SCL编程。后来新添加的cycle program,也全是用SCL来进行书写的。


项目快结束了,整个项目约70%的逻辑是采用SCL来实现的,分享一个小方法:【将SCL编写的一整行代码分多行展示】


下面的一行代码,是一个模拟量数值转换的程序,由于比较长,不仅看起来非常不方便,调试起来还要将左右两侧的项目树和工具给隐藏起来才可以调试。


(手机横屏看。。)









讲解ST语言中FOR循环增量表达式
这篇关于DB9串口的讲解一定要收藏
EPLAN绘图几个小技巧
昆仑通态触摸屏485通讯读取温湿度传感器数值显示
电气仿真软件(文末有链接)
通讯获取温湿度传感器数值
威纶通触摸屏按键语音播报
威纶通触摸屏排程功能使用
三菱MOV K8 K4M10
三菱GX Works2梯形图编程注释多语言切换
三菱FX_PLC_ST语言编程(系列教程)
=>更多原创内容点击菜单查看【我的原创】



后来,将代码分行显示,就方便阅读和调试了。
这样调试起来,看变量数据就会在右侧显示多行了。





"DATA".实际值 := REAL_TO_INT(10 * (200 +
                                 ABS((
                                         SCALE_X(MIN := 200.0,
                                                 VALUE := NORM_X(
                                                                 MIN := 0,
                                                                 VALUE := "IW98",
                                                                 MAX := 27648),
                                                 MAX := 600.0)
                                         - 325.0) * 2 - 200)
                                 )) + "DATA".校准值;


这样在调试的时候,监控数值的变化就非常的方便了,因为在监控变量信息栏,可以分很多行直接展示变量。



以后大家写这种结构化文本的程序,若一行看起来比较长,建议使用换行书写。


其它的控制器应该也可以这样写。大家可以分享一下



正在学习PLC的朋友,想了解更高级的编程,在公众号中点击【我的原创】查看更多工控知识



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-8 10:49 , Processed in 0.044223 second(s), 26 queries .

快速回复 返回顶部 返回列表