预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

配置 一个配置就是一个控制系统,一个配置可以有一个或多个资源,在TwinCAT中一个或多个PLC。 资源 资源就是PLC的运行核,资源包括全局变量、任务、POU(程序组织单元)一个资源可以有一个或多个任务 任务 一个资源有一个或多个任务,任务具有优先级(0-3),任务调用一个或多个程序,任务决定了所关联程序的时间调度。 程序 根据控制过程的需要,包含函数和功能块的一个POU,任务调用程序,程序调用函数和功能块 功能块(FB) 每次被执行就是运行一段程序编码,有变量输入输出和运算法则,可以调用函数和功能块 函数 被函数或功能块调用,可以调用其他函数但是不能调用功能块 局部变量 在一个POU(程序、功能块、函数)中定义,只能在POU中访问 全局变量 在资源(PLC运行核)中申明,每个POU可以访问 直接描述变量 具有固定地址的变量 地址:输入(I),输出(Q),标记(M) 类型:位(X),字节(B),字(W),双字(D) 例如:%IW12,%QX1.1,%MB5 冷启动 所有变量被初始化 热启动 不进行变量初始化、原值被使用 限定字符 不分大小写,关键字总是大写,无国家字符 标识符 第一个不能使数字,不能连续多于一个下划线 关键字 关键字总是大写 注释 被(*和*)框住的内容,不能放在语句中,不允许嵌套 数据类型 整型:SINT(8),INT(16),DINT(32),LINT(64)无符号的在前面加U,允许十进制,十六进制(16#),八进制(8#),可以用_进行单元分隔 浮点:REAL(32)LREAL(64) 时间与日期:TIME(32)TIME#或T#/t#,允许溢出如25DATE(32)DATE#D#/d# 字符串:以’’引括字符,用$表示特殊字符换行($L) 位和位组:BOOL(1)BYTE(8)WORD(16)DWORD(32)LDWORD(64) 自定义数据类型 TYPE...END_TYPE类型重定义相当于c/c++typedef STRUCT...END_STRUCT定义自己的数据结构 定义枚举类型:TYPEModes: (Initting:=0,Runnin:=1,Idel,Reset,Faulty) END_TYPE 数组是具有相同数据类型的数值集合,允许三维数组存在 TYPEmatrix: ARRAY[1..23,0..1]OFINT END_TYPE 变量 VAR A,c,b:REAL; d,e:BOOL; f:ARRAY[1..12]OFBOOL; END_VAR 在程序中,函数或者功能块的输入变量 VAR_INPUT A,b,c:REAL; END_VAR 输出变量: VAR_OUTPUT d,e:REAL; END_VAR 输入输出变量:在POU内部允许更改变量 VAR_IN_OUT X:STRING; END_VAR 全局变量:允许从所有POU中读取的变量 VAR_GLOBAL var:UINT; END_VAR 变量属性: RETAIN:断电后值被保存,TwinCAT启动后值被恢复 CONSTANT:常量值不能被修改 AT:变量被指定存储位置(固定地址) 直接表示变量: 以%开头,第二个为I/Q/M,第三个为X/B/W/D如:%IB24,%QX1.1,%MW12 地址可以交迭,%MB12是%MW12的第一个字节,也是%MD12的第一个字节 •%MX12.0是%MB12的第一位 变量初始化:每个变量在启动时被赋初值,所有变量可改变默认值 VAR A:REAL:=12.0; B:STRING:=‘HelloWorld!’; C:INT:=22; END_VAR 派生数据类型变量的初始化: 结构:用括号对每个成员赋初值 VAR a:mystruct:= ( Status:=TRUE; InputVar:=2.5; ) END_VAR 数组:用逗号分隔设定多重初值 VAR a:ARRAY[1..10]OFINT:= 1,2,3,4,5,6,7,8,9,0; END_VAR 函数 内部数据不存储 几个输入值 一个输出值 用户定义的函数可以用各种语言编辑代码(除了SFC) 函数名必须是返回值的名 超载函数 一些函数可以处理不同的数据类型(调用操作) a,b:REAL; c,d:INT; a:=ABS(b);(*用REAL做输入输出*) c:=ABS(d);(*INT做输入输出*) 数据类型转换函数 在不同的数据类型之间需要转换数值,你必须要用转换函数 a:REAL; b:INT; b:=REAL_TO_INT(a); 标准IEC61131函数 位组:AND,OR,XOR,NOT,SHL,SHR,ROL,ROR 数学:ADD,SUB,MUL,DIV,MOD,EXPT,ABS,SQRT,LN,LOG,EX