注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

冷若寒梅

积跬步以致千里life is what you make it.love it

 
 
 

日志

 
 

CoDeSys简介  

2010-09-12 19:34:36|  分类: CoDeSys |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

CoDeSys是一种功能强大的PLC软件编程工具,它支持IEC1131-3标准ILSTFBDLDSFCCFC六种PLC编程语言,用户可在同一项目中根据需要选择不同的语言编写子程序、功能模块等。
一、指令表ILInstruction List
IL
程序设计语言是用布尔助记符来描述程序的一种程序设计语言,它与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。
指令 描述
LD
读取操作数的值;
ST
把当前值存入操作数;
S
把布尔量操作数置 TRUE
R
把布尔量操作数置FALSE
AND
逻辑与;
OR
逻辑或;
NOT
逻辑非;
XOR
逻辑异或;
ADD
加;
SUB
减;
MUL
乘;
DIV
除;
MOD
求余数;
GT >

GE >=

EQ =

NE <>

LE <=

LT <

JMP
跳转至标志行;
CAL
调用子程序;

LD
TRUE
(*
读取 TRUE*)
ANDN
BOOL1
(*
与变量 BOOL1的反值进行AND 运算*)
JMPC
mark
(*
当结果为 TRUE,跳转至 "mark"*)
LDN
BOOL2
(*
变量BOOL2值取反*)
ST
ERG
(*
把结果存至ERG*)
JMP
end
(*
跳转至 "end"*)
mark:
(*"mark"
标志行*)
LD
BOOL2
(*
读取BOOL2的值 *)
ST
ERG
(*
BOOL2存至ERG*)
End:
(*"end"
标志行*)
二、梯形图
梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。它来源于继电器逻辑控制系统的描述

梯形图程序设计语言的特点是:
与电气操作原理图相对应,具有直观性和对应性;主要应用于开关量逻辑控制目的的程序。
与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待。
与指令表程序设计语言有一一对应关系,便于相互的转换和程序的检查。
三、结构化文本STStructured Text
ST
程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,尤其是大量的模拟量运算和处理,常采用ST语言来描述控制系统中各个变量之间较复杂的控制运算关系,完成所需的功能或操作。
ST
语言与BASIC语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
指令 描述
AND
逻辑与;
OR
逻辑或;
NOT
逻辑非;
XOR
逻辑异或;
+
加;
-
减;
*
乘;
/
除;
MOD
求余数;

ST语言除有一般算术运算、逻辑运算、表达式、调用子程序等指令外,还有一些结构化的语句模块。
条件语句:
IF <
逻辑表达式1> THEN (*表达式为TRUE时,执行功能块一*)
... (*
功能块一*)
ELSIF <
逻辑表达式2> THEN (*表达式为TRUE时,执行功能块二*)
... (*
功能块二*)
ELSIF <
逻辑表达式n> THEN (*表达式为TRUE时,执行功能块n*)
... (*
功能块n*)
ELSE
... (*
功能块n+1*)
END_IF (*
条件结束*)
其余指令用法参见CoDeSys手册。
四、功能模块图FBDFunction Block Diagram
功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同

的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的更改、信号连接的替换等操作可很方便实现。功能模块图程序设计语言的特点是:
以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;
对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少;
用户自己可以用不同的语言编写特定的功能模块,也可在用其他语言编程时插入功能模块。

SFC语言是用顺序流程图来描述程序的一种程序设计语言。采用顺序流程图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。

SFC语言的特点是:
以功能为主线,条理清楚,便于对程序操作的理解和沟通。
对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间。
能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程

当且仅当顺序条件为真时,程序才能往下执行。每一步功能块可用不同语言编写。同等条件的功能块,可指定时间执行顺序。
六、数据类型
1
、在CoDeSys环境中,有以下标准数据类型:
? BOOL
(布尔量)
? SINT
(短整型) INT(整型数) DINT(双整型数)
? USINT
(无符号短整型) UINT(无符号整型数) UDINT(无符号双整型数)
? BYTE
(位)、WORD(字) DWORD(双字)
? STRING
(字符量)
? REAL
(实型数) LREAL(长实型数)
? TIME
(时间量)
数值取值范围:
Type
下限
上限
存储空间
BYTE
0
255
8 Bit

 

  评论这张
 
阅读(601)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017