网站大量收购闲置独家精品文档,联系QQ:2885784924

TwinCAT编程笔记..docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TwinCAT编程笔记.

配置一个配置就是一个控制系统,一个配置可以有一个或多个资源,在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#,允许溢出如25 DATE(32) DATE# D#/d#字符串:以’’引括字符,用$表示特殊字符换行($L)位和位组:BOOL(1) BYTE(8) WORD(16) DWORD(32) LDWORD(64)自定义数据类型TYPE ...END_TYPE类型重定义相当于c/c++ typedefSTRUCT ... END_STRUCT 定义自己的数据结构定义枚举类型:TYPE Modes: (Initting:=0,Runnin:=1,Idel,Reset,Faulty) END_TYPE数组是具有相同数据类型的数值集合,允许三维数组存在TYPE matrix: ARRAY[1..23,0..1] OF INTEND_TYPE变量VARA,c,b :REAL;d,e :BOOL;f : ARRAY[1..12] OF BOOL;END_VAR在程序中,函数或者功能块的输入变量VAR_INPUTA,b,c :REAL;END_VAR输出变量:VAR_OUTPUTd,e : REAL;END_VAR输入输出变量:在POU内部允许更改变量VAR_IN_OUTX :STRING;END_VAR全局变量:允许从所有POU中读取的变量VAR_GLOBALvar:UINT;END_VAR变量属性:RETAIN:断电后值被保存,TwinCAT启动后值被恢复CONSTANT:常量值不能被修改AT:变量被指定存储位置(固定地址)直接表示变量:以%开头,第二个为I/Q/M,第三个为X/B/W/D如:%IB24, %QX1.1, %MW12地址可以交迭,%MB12 是%MW12 的第一个字节,也是%MD12 的第一个字节? %MX12.0 是 %MB12 的第一位变量初始化:每个变量在启动时被赋初值,所有变量可改变默认值VARA:REAL := 12.0;B : STRING := ‘Hello World!’;C: INT :=22;END_VAR派生数据类型变量的初始化:结构:用括号对每个成员赋初值VAR a :mystruct :=(Status := TRUE; InputVar := 2.5;)END_VAR数组:用逗号分隔设定多重初值VAR a :ARRAY[1..10] OF INT := 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,

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档