著名的IEC61131-3 标准中定义了5种不同的PLC编程语言。是不是被吓到了?
梯形图 是目前最流行的PLC编程语言。它脱胎于接触器继电器控制电路的原理图。大多数不完全执行IEC61131-3标准的PLC品种都仅支持梯形图编程。
指令表 是欧洲电气攻城狮们的最爱,作为一个文本化的编程语言,咋瞅它都和汇编语言代码像极了。
功能块图 用逻辑块有序连接的方法,表达了系统所要实现的功能。功能块和程序逻辑块连接构成了复杂的图形块,看起来真的很像当年上学时恶寒不已的数字电路啊。
结构化文本 是非常强大的PLC高级编程语言,它借鉴了 Ada,、Pascal 和 C 语言的部分语法和关键字。它能被用于定义复杂的功能块,它还能被嵌入到其他PLC编程语言中混合使用。
顺序控制图(SFC) 擅长通过图形化方式表达顺序动作的控制。某岛国工程师当年的最爱啦。
这么多形色各异但却功能近似的PLC编程语言,您会如何选择呢? 不妨看一下恒邦PLC培训机构的分析和建议:
一是看您的技术背景:当然是您擅长什么就使什么啦。哦,都一样啊,那就继续往下看吧,
二是看客户的需求喜好:客户是上帝,客户的偏好就是我们的第一选择、总之,先问好客户的意见才动手,你就对了。什么?客户不了解啊。恭喜你,你自由了。
三是看项目的特性:能最契合工艺需求的编程语言就是最好的。我的原则是利于维护扩展第一,利于出货迅速第二。每个语言都有它的闪光点,看菜下饭了。
3.1、对于普通的点位逻辑控制而言,梯形图、指令表和功能块图都可以。看熟悉程度而定。
3.2、对于顺序流程控制的项目而言,顺序控制图当然首当其冲了。
3.3、结构化文本语言的特长是善于完成复杂的数学运算、数组运算和字符串操作。
3.4、老板给你买的PLC太古老,或者PLC的性能太那啥的话,还是选择指令表吧,权当深情缅怀了。
3.5、控制逻辑图和顺序流程表很近似的话,是可以考虑SFC的。
3.6、输入输出之间的互斥互锁很复杂,或者控制逻辑比较零散无规律的话,选梯形图。
如果你是选择困难症患者的话,干脆就不选了,一起上!! IEC61131-3 标准允许几种不同的PLC编程语言按需要混杂在一个程序里,就是所谓的支持混合编程。
你可以把程序的各个功能模块化,每个功能块可以按照各自的控制特性,选择不同的编程语言编写,比如你可以把输入输出点的基本逻辑功能用梯形图完成,把整个程序的主控制逻辑用SFC完成,涉及数据处理的用结构化文本编程。
这样做的最大好处是将各个语言的优点最大化的发挥出来。最大的缺点是我肯定不愿意接手这么变态的程序项目来维护。