- 博客(8)
- 收藏
- 关注
原创 信捷POU_C语言参数写法举例
近期在程序开发中使用C语言写POU比较多,发现不同参数在使用时容易混乱,造成报错或者bug,考虑到很多同事可能也有潜在需求,所以将参数的使用与写法举例整理了一下。
2023-12-04 09:10:41 566
原创 信捷POU - C语言轴控“外挂”&批量引用轴的解决新方案
在批量部署时,第一个想到的就是for语句,然后是数组,那么如果所有轴都在一个数组中,在循环中偏移即可完成控制,但是IDE不支持,如何实现呢?建立一个结构体指针数组,每个元素都是一个结构体指针,存储对应运动轴系统数据的地址,这样在指令执行时,关联指针,即可控制对应的轴。最近,我在项目开发中,经过一些研究,这个问题得到了解决,通过这种方法,将巨幅提升多轴重复发开时C语言的可用性,极大的降低相关开发时间,极大缩减代码量。由于我们要实现一次修改批量应用的效果,所以选择头文件来编写结构体指针数组关联轴数据的代码。
2023-11-30 18:03:14 537
原创 信捷C语言POU封装举例
一般而言,我们使用POU都是为了将特定的功能,做成一个函数,在需要重复使用这个功能的时候,只需要调用这个函数,分配给他对应的寄存器进行数据运算即可。而FB需要为其分配数据区,就像一个函数集合,写在一张纸上,想要得出一个最终结果,输入值会在若干个函数中来回传递,中间产生的每一段临时结果会被写在空白的地方辅助下一步计算。对于这个功能我们可以先进行开发分析,累计时间我们可以使用系统内置的时钟脉冲来累计,然后这里面涉及到很多的运算,数据需要存储所以整体要用FB,内部可以拆出一个采集时钟脉冲上升沿的FC。
2023-06-11 18:17:39 2622 2
原创 信捷C语言POU的结构体
我们在参数声明区定义的input,inout,output,var这些类型实际上都是定义在了以函数名来命名的结构体中,这个结构体定义了一个结构体指针,用来在pou中调用定义的参数。而在外面,在全局变量表中,以这个结构体定义了一个结构体数据,相当于在内存中为结构体分配了地址。前面讲了,POU的INOUT类型都是指针传递,INPUT与OUTPUT是值传递,所以当结构体出现在数据位置或者INPUT位置,他就是一个数据对象,我们使用“.”符号访问目标结构体数据内的成员,例如self->VAR3.A。
2023-06-11 18:17:18 1103
原创 信捷C语言POU开发技巧-参数引用
这时b里存放的就是a的地址,我们可以通过一个之前出现过的符号【*】来实现一点特别的操作,b内不是存放a的地址么,我们在b前面加上【*】,*b则意味着b内存放的地址指向的数据,也就是a内的数据,也就是5。指针也是一直数据类型,只不过指针类型的【容器】存放的不是某种数值,存放的是对应数据类型【容器】的【地址】。例如如何保存a的地址,我们可以定义一个int类型指针的【容器】b,写法是int *b,“*”意味着名为b的【容器】是用来存放地址的,前面的int则表示他存放的是int类型【容器】的地址。
2023-05-27 14:03:51 1985 2
原创 信捷PLC-C语言FB内编写轴控指令的方法举例-使能、速度控制、停止指令篇
以上就是一个简单的写法。在外部梯形图调用此FB,分配对应的轴与启动停止信号,即可完成对应的使能与启动停止操作。首先在定义区内定义我们需要的函数参数,本篇省略内部FB参数引出方式等,主要介绍基本方法。前言-受本人水平所限,所写内容仅为本人测试过的代码以及观点,错漏之处请不吝指正。
2023-05-16 18:54:58 3303 1
信捷XDPPRO编程软件程序案例(V2.0.0功能库)
2024-01-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人