- 博客(28)
- 收藏
- 关注
原创 在Codesys中用ST语言编写程序实现PID算法程序
PID 是 Proportional(比例)、Integral(积分)、Differential(微分)的首字母缩写;是一种结合比例、积分和微分三种环节于一体的闭环控制算法。PID 控制的实质是对目标值和实际值误差进行比例、积分、微分运算后的结果用来作用在输出上。
2023-11-24 15:27:50 6611 1
原创 Codesys 编程实现随机数字+仿照rand()原理+代码下载
运行结果如下:运行了2次程序:每次都能产生0到9之间的随机数,但是第2次重新运行程序产生的随机数和上次一样,这是伪随机。
2024-06-17 14:22:55 1099
原创 Codesys 2.3 软件下载及安装教程+所有版本大全集合
(1)、通过以上 我们获取了CODESYS的安装程序,图标如下图所示,双击运行。(11)相关软件安装。等待完成单击Finish结束。(3)建议关闭所有其他运行程序,点击‘确定’(9)确认安装项目,单击Next开始安装。(7)默认安装全部功能,单击Next。(10)开始安装,过程可能持续几分钟。(12)License提示,单击确定。(6)默认安装路径,单击Next。(13)单击Finish,完成安装。(2)选择语言为英文。
2024-06-16 16:54:52 1709
原创 Codesys V3.5 下载安装教程+ 所有版本大全集合
1、整理的codesys V3.5 所有的版本CODESYS 3.5.9CODESYS 3.5.9.40CODESYS 3.5.9.50CODESYS 3.5.9.60CODESYS 3.5.9.70CODESYS 3.5.9.80CODESYS 3.5.10CODESYS 3.5.10.0CODESYS 3.5.10.10CODESYS 3.5.10.20CODESYS 3.5.10.30CODESYS 3.5.10.40CODESYS 3.5.10.50CODESYS 3.5.1
2024-06-15 15:10:40 5939 1
原创 Codesys字节处理:高低字节转换+Word/Dword拆分合并
Codesys下字节处理:高低字节转换 + 组合拆分Word/Dword + Word组合为DWord等。用ST对字节的各种处理操作 高低字节。
2024-03-15 17:05:53 3153
原创 Codesys与c# 参数对比:IN(VAR_INPUT)、OUT(VAR_OUTPUT)、REF(VAR_IN_OUT )
1 c#中函数参数的in,out是值拷贝类型,函数中必须重新开辟对应类型变量的内存空间,把值拷贝进入和拷贝出去ref参数 是引用类型,传入的是外部变量的地址(指针),在函数中通过地址,读写地址对应的数据;2 、Codesys中函数VAR_INPUT 和 C# 函数in 对应VAR_OUTPUT 和 C# 函数out对应VAR_IN_OUT 和 C# ref 对应
2023-12-21 09:21:02 911
原创 Codesys与UAexpert软件进行OPC UA通讯设置
在 Codesys软件中定义如下不同数据类型的 "全局变量 ":[符号配置]是用来配置上述定义变量的访问权限(读写);外部的 Client(MES/HMI)通过符号配置访问 Server(Codesys控制器)中的变量标签;(1)添加[符号配置](2)设置OPU UA特性(3)设置访问权限编译后,选择勾选需要访问的变量,在[访问权限]中更改访问权限[只读/只写/读写],将程序下载到 PLC 运行。打开 UAexpert 软件,PC 电脑的 IP 地址应当和 PLC 在同一网段;可以 ping 通
2023-12-20 19:41:54 2554
原创 Codesys 数据结构:扩展数据类型之引用 Reference 详解
REFERENCE(引用)是对指针的应用,内部也是指针;指针可以指向各种数据类型(bit除外),结构体,功能块,函数及程序,引用也同样可以。如果对codesys指针不太了解,可以参考上一篇博客优点1: 类型安全对于引用,编译器在分配引用时会检查两个类型是否一致,例如VAR_INPUT(*指针*)(*引用*)END_VAR(*正常:将BOOL类型地址给INT类型指针*)(*报警:将BOOL类型赋值给INT类型引用*)优点2: 传参写法简介。
2023-12-19 00:15:00 1667 1
原创 Codesys与Modbus TCP从站通信详细说明+实例代码+Modbus软件助手
因为是在本机上测试,所以IP地址是(127.0.0.1),如果不是本机,则是Codesys程序中【Ethernet】–>【通用】–【IP地址】
2023-12-18 11:24:25 5764 2
原创 codesys 面向对象分析系列(一)
接口是一个协议、规范;例如电源插座接口,它就是一个规范,中国制定的插座标准;每个厂家插座的生产技术、工艺都不一样。插座的内部实现对于电器来说是完全屏蔽的;但任何厂家只要按照插座标准制作,我们的电器就能正常使用。同一个函数接口,实现不同的功能;比如有动物(Animal)之类别(Class),而且由动物继承出类别鸡(Chicken)和类别狗(Dog),并对同一源自类别动物(父类)之一消息有不同的响应,如类别动物有“叫()”之动作,而类别鸡会“啼叫()”,类别狗则会“吠叫()”,则称之为多态继承。
2023-12-18 11:23:03 2766
原创 codesys开源库OSCATBasic.package+使用说明pdf+ST语言源码文件
OSCATBasic是一个开源库,包含丰富的算法函数;在CODESYS资源库里打开后,在库管理器里安装后,即可在程序中使用。有对应的源码文件,可以学习其优秀的ST算法编程,提升能力;例如文中大量采用了指针操作,可以加深对指针的理解;库文件库源码文件使用教程文档。
2023-12-18 11:22:19 1804
原创 基于Codesys用ST语言实现循环队列FIFO数据结构详细说明+代码实例
队列是一种先入先出(FIFO——first in first out)线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
2023-12-17 19:53:41 1633 1
原创 在Codesys用ST语言基于链表实现队列FIFO数据结构详细说明+代码实例
队列是一种先入先出(FIFO——first in first out)线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
2023-12-17 19:51:52 846 1
原创 在Codesys用ST语言基于链表实现栈LIFO数据结构详细说明+代码实例
栈是一种后进先出(LIFO——last in first out)线性表,它只允许在表的后端(tail)进行插入(push)和删除(pop)操作。
2023-12-17 19:37:48 245 1
原创 在Codesys用ST语言基于数组实现栈LIFO数据结构详细说明+代码实例
栈是一种后进先出(LIFO——last in first out)线性表,它只允许在表的后端(tail)进行插入(push)和删除(pop)操作。
2023-12-17 19:36:26 823 1
原创 Codesys数据结构:扩展数据类型之指针 Pointer 详解
当定义一个变量并为其赋值的时候,计算机会开辟一块空间用来存取变量值,在程序中一般是通过变量名来引用变量的值,实际上程序在编译的时候已经将变量名字转为变量的地址,即通过变量名找存储单元的地址,从而读取或修改存储单元的变量值;(1) 每个地址对应的空间是一个byte,byte中的每一位bit不具备单独的地址,如下图所示,取输出地址区第1个字节中每一位的地址,运行查看都是同一个值,这个值就是这个字节的地址;(1)通过下标的方式:它进行了2部分工作,第一步是进行地址偏移,第二步取偏移后地址对应存储区的变量值;
2023-12-17 18:20:08 3772 1
原创 Codesys 数据结构:扩展数据类型之联合体(UNION) 类型详解
联合体就是不同类型的变量占用同一个内存的数据结构;其声明语法如下例如。
2023-12-17 18:19:20 1153 1
原创 Codesys数据类型:扩展数据类型之 别名 详解
别名的目的是声明出 基本数据类型,结构体,枚举、共用体(UNION)、功能块、指针备用名字,方便使用;以关键字TYPE开始,以关键字END_TYPE结尾其声明格式如下TYPE <别名名字> : <别名类型>;END_TYPE。
2023-12-17 18:18:46 551 1
原创 Codesys数据类型:扩展数据类型之TIME,LTIME
这个函数产生自系统启动以来经过的时间(以毫秒为单位)循环1百万次的时间是 1毫秒704微妙700纳秒。可以用于计算中间语句运行的时间,以便优化算法等。LTIME()函数返回LTIME类型数据。TIME()函数返回TIME类型数据。
2023-12-17 18:18:03 594 1
原创 Codesys数据结构:时间 标准数据类型
长度为32位的时间数据类型,分别率为毫秒,其数据类型的常量以"T#"开头,其变量建议使用前缀"t"标识,比如下面代码中的tStartTime。其中 "D"表示天,"H"表示小时,"M"表示分钟,"S"表示秒,"MS"表示毫秒。
2023-12-17 18:17:06 1986 2
原创 Codesys数据结构:扩展数据类型Any的探索
Any内部是一个数据结构体,在定义一个Any变量时,内部会转成其结构体,定义如下TYPE Any : STRUCT // 实际参数的类型 typeclass : __SYSTEM . TYPE_CLASS;// 指向实际参数的指针 pvalue : POINTER TO BYTE;// 指针指向的数据大小 diSize : DINT;END_STRUCTEND_TYPETYPE_CLASS是变量的数据类类型,对于用户自定义的数据类型或者功能块实例,其值是 TYPE_USERDEF;
2023-12-17 18:16:24 807 2
原创 Codesys 数据结构: 扩展数据类型之bit类型详解
REFERENCE(引用)是对指针的应用,内部也是指针;指针可以指向各种数据类型(bit除外),结构体,功能块,函数及程序,引用也同样可以。如果对codesys指针不太了解,可以参考上一篇博客优点1: 类型安全对于引用,编译器在分配引用时会检查两个类型是否一致,例如VAR_INPUT(*指针*)(*引用*)END_VAR(*正常:将BOOL类型地址给INT类型指针*)(*报警:将BOOL类型赋值给INT类型引用*)优点2: 传参写法简介。
2023-12-17 18:15:12 446
原创 Codesys数据结构(2):标准数据类型
这里的标准指的是IEC61131-3,也就是说下面的数据类型是Codesys符合这个标准的数据类型,IEC 61131-3是由国际电工委员会所制定IEC 61131标准的第3部分,用于规范可编程逻辑控制器(PLC),DCS,IPC,CNC和SCADA的编程系统的标准,应用IEC 61131-3标准已经成为工业控制领域的趋势。在PLC方面,编辑软件只需符合IEC 61131-3国际标准规范,便可借由符合各项标准的语言架构,进而能建立任何人皆可了解的程序—《百度百科》。
2023-12-17 18:06:59 3627
原创 Codesys数据结构(1): 数据类型
Codesys软件是基于IEC61131-3国际标准的控制器开发平台软件;IEC 61131-3 标准包括两部分:编程和变量。编程部分描述了两个重要模型:IEC软件模型和通讯模型。变量部分定义了应用编程中需要的数据类型。计算机处理数据都是二进制处理方式,编译器会将编写的代码翻译成机器语言,在翻译成机器语言过程中,编译器会根据数据类型对对应内存中(01010001)的数据进行解析;一串二进制信息是有很多含义的,可以是字符,可以是正数,也可以是带小数的浮点数,这都是根据数据类型而决定的。
2023-12-17 17:58:10 883
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人