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

您所在的位置:网站首页 c语言编程大全 信捷PLC之C函数编程(一)

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

2023-08-30 05:10| 来源: 网络整理| 查看: 265

写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

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3