首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PLC编程再思考(5)–高级语言编程

在PLC的编程语言中,梯形图最常用,同时也会结合STL、SCL等语言使用。

梯形图LAD语言,由于其简单、直观、方便逻辑表达,使用最为广泛,但也有一定的限制。

比如在AVI和防错系统中,需要在PLC中存储车辆的实时队列,通常以数组的形式保存在数据块中。当车辆移动时,我们可以使用SCL语言,通过FOR循环对数组进行移动操作,非常方便。此时用LAD会让人抓狂。

此外,由于SCL语言是纯文本格式,因此我们可以非常方便地利用SVN工具进行版本控制。

因此,在AVI、ANDON、EPS等IT高度参与的系统中,会在PLC中交叉使用LAD、SCL语言。

我们可以针对不同的语言分别编写FC,然后在程序段中进行调用。

但有时我们希望用同一个FC完成所有相关的逻辑,这时我们可以适当地将LAD转换成SCL格式,以方便理解和调试。

本文举几个常见例子予以说明。

1.直接赋值

LAD格式:

SCL格式:

需要说明的是,SCL只能通过变量的符号名进行运算。

2.上升沿处理

LAD格式:

SCL格式:

我们可以看出,上升沿的处理原理是:通过两个地址,分别存储信号在上一个扫描周期值、当前扫描周期值;当上一次值为且当前值为1时,则定义为上升沿触发。

用SCL表达略显繁琐,但是也很好理解。

3.串并联逻辑判断

LAD格式:

SCL格式:

我们可以看出,当有多个条件需要进行组合逻辑判断时,用LAD表达非常简洁直观,SCL需要将串、并联转换成AND/OR条件,而电路的闭/合也要转换成1/0值,因此不够直观。但是对于写惯了VB等高级语言的工程师,SCL格式上手还是相当简单的。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180206G1DTVG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券