[三菱] 编程时用ST语言好?还是直接C语言好?

[复制链接]
查看90722 | 回复0 | 2024-8-8 10:30:29 | 显示全部楼层 |阅读模式
点击上方蓝字关注我们,了解更多内容

大部分主流品牌商编程时采用ST语言,如施耐德PLC等。ST是结构化文本编程,类似于C语言,不同于梯形图和顺序函数功能表。它的优点就是能简化复杂的数学方程,进行梯形图所难以执行的复杂计算,完成程式的建立;

少部分品牌商编程时采用C语言,可以通过C语言子函数调用的方式,加入到梯形图的体系中,主要起到辅助作用,它主要解决复杂的数字方程,解决梯形图无法达到的运算速度和效率,解决梯形图编程过于复杂的问题,用C语言编程可提高程序效率,如CRC校验,复杂浮点数运算,多项式函数运算,凸轮参数设置等。

在使用中不知大家在PLC编程中觉得那种编程方式比较好呢?

参考案例如下:

案例1·C语言编写的程序:
梯形图块TTP:



C语言自定义函数TTP:



案例2·ST语言编写的程序:
梯形图块Cam_copy:



ST语言自定义函数Cam_copy:



网友讨论:
fujifa

首先,ST语言是类似于PASCAL而不是类似于C。

其次,用ST还是C语言没有可比性,毕竟你提到的施耐德并不支持C语言。

最后,使用C语言出道的贝加莱已经全面支持ST语言,没听说过支持ST的转C语言。

顺便说一下,目前的施耐德ST语言支持了一些标准以外的特性,例如接口,继承。这是你信捷C语言不支持的。

zhujilucj

能解决问题的才是好方法,不同编程语言有不同的优缺点。高端品牌对于plc的运算能力下的本钱的确不少!

sxjice545

各有优缺点。
2012年左右的时候,有用过信捷的PLC,支持部分的C,手册上有具体的支持部分。
使用下来有两点:
1.做复杂运算确实方便。当时是用来计算实时目标位置,快捷。
2.不支持输入输出。想要的输入输出,必须完全在块内定义好。

从PLC角度来说,更多的是逻辑控制,想要做大型的数据运算的话,不是PLC的关注。当然现在的PLC增加ST语言后,数据运算功能确实很强大,但仍然不是PLC的重点。

所以个人认为,能简单明了的用LD就用LD,确实需要大量运算而PLC能用ST方便处理,那就考虑用ST。毕竟,不是所有工程师都熟悉ST,甚至是C。方便程序后期维护,降低阅读程序门槛,这也蛮重要的。

FreeTigerMan

个人观点,PLC之所以叫PLC,是因为在计算机还只有少数人熟悉编程的时候,发明了梯形图,用类似继电器接触器接线图的方式来实现控制程序的编程,简单易用,便于调试,让电气工程师可以完成以前软件程序员完成的工作。PLC做逻辑控制是强项,后来发展到加入模拟量处理、过程控制算法等功能。现在控制领域虽然PLC和DCS在逐步融合,但两者还是各有特点和强项的。我用过多年的梯形图,后来出了ST,FBD等,用FBD就多了,LD只用于逻辑控制。ST很多时候只是一种补充,可能是因为习惯了梯形图和FBD的思路,而且ST也是基于循环执行的,要是在st中写复杂的循环,会让扫描周期变长,影响其他程序。对于复杂的计算,多年来就用过一次,大部分PLC支持自定义功能块,可以用C语言写程序,封装好,来处理一些复杂计算。所以说,要用PLC,还是FBD或梯形图更接近控制的思路,也容易调试和修改,如果大量用到C语言,那就用软控制器好了,直接写控制程序,把结果给IO就行了,最灵活强大。但是想想,等你写完程序交给客户,客户怎么维护和修改?别人怎么快速接手?当然,想保护只是产权除外。

cjw

越简单能实现功能的语言就是最好的,毕竟考虑到维保和工作交接,写高级语言你确定维修工能看懂......

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!





扫码回复『hvzd』

领取PLC经典案例与源程序

推荐文章
电气人!在提加薪之前,这些能力一定要有

不同电工的基本工资,相差能有多大?

免费刷题+免费技能等级鉴定,高低压电工必备电气题库!

【课堂福利】1120册变频器说明书,打包发送!

电气文字、图形符号大全,你一定需要它~

65个老电工不会轻易透露的电气计算秘诀!赶紧拿去~


点分享

点收藏

点点赞

点在看

本帖子中包含更多资源

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

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

本版积分规则