信捷PLC之C函数编程(一)

写PLC程序,越来越觉得结构化文本编程语言(ST)给PLC编程带来的便利,在处理一些数据上,可以写的更加灵活。所以,在项目PLC选型上,我都会优先选择支持结构化文本的PLC。

国内有些厂商推出了一些较为高端一些的PLC,开发环境集成在Codesys平台(例如禾川、信捷);也有的PLC的开发环境集成在Visual Studio平台中(例如倍福)。

像依赖于博图的西门子、三菱、欧姆龙PLC,都可以在独家的IDE中进行ST编程开发。

今天,我们来说一下ST语言编程的“另类”——信捷的C函数编程。

如果大家关注我的公众号文章,最近就会收到比较多的信捷C函数编程的推送,大家想要学习的话,记得关注微信公众号【工业技术互联】

下一篇讲解如何使用信捷PLC的C函数编程,本篇文章先说一下这种编程方式。

打开信捷PLC的编程软件“XDPPro”,就会看到在左侧目录树下,有“函数功能块”这一栏。

通过在上面单击右键,就可以添加功能块。

 image01

 第一个函数功能块的默认名字为“FUNC1”,如下图所示,可以自定义源文件名称、版本、描述、作者、日期。设定好源文件信息后,点击确认就可以创建文件。

image02

在此,我将函数功能块命名为“FUNC3”。打开创建好的文件,如下图所示。 

Image03

但是使用过程中,就会存在一些问题。给我最大的不便之处在于它的不灵活性。

【第一点】文件长度问题

如图所示,我给文件取名为“FUNC3”,没问题,长度满足要求,但是如果你要给它取名为“ZIDONGSHANGLIAO”(自动上料),那不好意思,它不支持这么多长度的文件名命名,当输入到“ZIDONGSHA”时候,剩下的就输入不进去了。

【第二点】文件大小写问题及格式

文件名只能支持字母、数字、下划线,并且第一个字符不能是数字,很符合命名规范,但是它的字母只能是大写,无法输入小写。所以,当你想输入“ShouDong”(手动)时候,它会自动变成“SHOUDONG”,看起来总感觉不舒服。如果你用过西门子的FC和FB,就会发现,它的这些块是可以支持中文的。

好吧, 上面我都可以接受,不影响我在掉发的路上越走越远。

【第三点】函数传递的形参固定

如图三所示,void FUNC3(WORD W , BIT B )这里面的参数无法改变。比如你想将函数写成

void FUNC3(WORD W , WORD D)那不行,这是不允许的。像写成void FUNC3(BIT B , BIT D)这样的也不允许。因为根本不允许修改。

那是否可以在此函数中创建一个新的函数用来调用?实践表明,这样也是不行的。

反正就是有很多的局限性,用起来特别不灵活。

当然,也有好的一方面,如果你是要用来计算CRC校验,用这个函数就可以很好的实现。官方也有相关的例子,直接拿来使用即可。

如果你要把信捷的C函数编程当作ST编程来使用,有很多和你预想的不一样的地方。

比如赋值符号:

在ST中,将15传递给int类型的a,表达式可以为a :=15;

在信捷的C函数编程中,则是 a=15;  

信捷的编程方式就是C语言。 而ST的编程方式不是C语言,是PASCAL。

下一节,介绍如何使用C函数进行编程开发信捷PLC

关注微信公众号【工业技术互联】还有技术交流群可以加入

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信捷PLC是一种可编程逻辑控制器。编程用途广泛,包括自动化、机器人控制、工业生产等。下面是一个使用C语言编写的信捷PLC的案例。 案例背景:一个生产线上有五个工位,每个工位都有一个传感器和一个执行器。当工件经过一个工位时,传感器会检测到并发送信号给PLCPLC根据信号控制执行器的动作。 在这个案例中,首先我们需要定义五个传感器和五个执行器的引脚。通过C语言编程,我们可以使用GPIO库控制引脚的输入和输出。 接下来,我们需要设置PLC的输入输出变量,用来存储传感器和执行器的状态。通过C语言编程,我们可以定义一个结构体来表示每个工位的状态,并将这个结构体作为一个全局变量在程序中使用。 然后,我们可以编写一个循环,不断地检测传感器的状态,并根据传感器的状态改变执行器的状态。当传感器检测到工件时,我们将执行器的状态设置为ON,否则设置为OFF。通过C语言编程,我们可以使用条件语句和逻辑运算符来实现这一功能。 最后,在PLC的主函数中,我们可以不断地调用上面编写的循环,以实现实时的控制。通过C语言编程,我们可以使用定时器来控制循环的间隔时间。 综上所述,通过C语言编程,我们可以实现信捷PLC的自动化控制。这个案例展示了如何使用C语言编写PLC程序,通过传感器输入和执行器输出,实现自动化生产线的控制。这个案例不仅有助于提高生产效率,还提供了一个基于C语言编程的实际应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值