登录
首页 PLC论坛 施耐德电气PLC
回帖 发帖
正文

主题:编程时用ST语言好?还是直接C语言好?

点击:15356 回复:40

 大部分主流品牌商编程时采用ST语言,如施耐德PLC等。ST是结构化文本编程,类似于C语言,不同于梯形图和顺序函数功能表。它的优点就是能简化复杂的数学方程,进行梯形图所难以执行的复杂计算,完成程式的建立;
 少部分品牌商编程时采用C语言,可以通过C语言子函数调用的方式,加入到梯形图的体系中,主要起到辅助作用,它主要解决复杂的数字方程,解决梯形图无法达到的运算速度和效率,解决梯形图编程过于复杂的问题,用C语言编程可提高程序效率,如CRC校验,复杂浮点数运算,多项式函数运算,凸轮参数设置等。
 在使用中不知大家在PLC编程中觉得那种编程方式比较好呢?
19-11-04 13:50
参考案例如下:
 案例1:C语言编写的程序:
 梯形图块TTP:
 
附件 图片1.jpg
 C语言自定义函数TTP:
 
附件 图片2.jpg
 案例2:ST语言编写的程序:
 梯形图块Cam_copy:
 
附件 2.jpg
 ST语言自定义函数Cam_copy:
 
附件 3.jpg
最后修改:2019/11/4 14:04:19
19-11-04 14:01
首先,ST语言是类似于PASCAL而不是类似于C。
其次,用ST还是C语言没有可比性,毕竟你提到的施耐德并不支持C语言。
最后,使用C语言出道的贝加莱已经全面支持ST语言,没听说过支持ST的转C语言。
顺便说一下,目前的施耐德ST语言支持了一些标准以外的特性,例如接口,继承。这是你信捷C语言不支持的。
19-11-04 14:37
关注,所以哪个更好呢?迷茫……
19-11-04 16:10
能解决问题的才是好方法,不同编程语言有不同的优缺点。高端品牌对于plc的运算能力下的本钱的确不少
19-11-04 17:12
补充的很到位,赞表情
19-11-04 21:13
不会C   ST会一点点..用来计算太舒服了
19-11-04 22:08
各有优缺点。
2012年左右的时候,有用过信捷的PLC,支持部分的C,手册上有具体的支持部分。
使用下来有两点:
1.做复杂运算确实方便。当时是用来计算实时目标位置,快捷。
2.不支持输入输出。想要的输入输出,必须完全在块内定义好。
从PLC角度来说,更多的是逻辑控制,想要做大型的数据运算的话,不是PLC的关注。当然现在的PLC增加ST语言后,数据运算功能确实很强大,但仍然不是PLC的重点。
所以个人认为,能简单明了的用LD就用LD,确实需要大量运算而PLC能用ST方便处理,那就考虑用ST。毕竟,不是所有工程师都熟悉ST,甚至是C。方便程序后期维护,降低阅读程序门槛,这也蛮重要的。
19-11-05 08:34

引用 sxjice545 在 2019/11/5 8:34:28 发言【内容省略】

听朋友说相比梯形图,ST更容易读懂?
19-11-05 08:44
C语言;这些特性都可以实现。
19-11-05 08:50

上一页下一页

工控新闻

更多新闻资讯