TwinCAT编程笔记
更新时间:2023-09-30 13:50:01 阅读量: 综合文库 文档下载
- twincat编程教程推荐度:
- 相关推荐
1. 配置
一个配置就是一个控制系统,一个配置可以有一个或多个资源,在TwinCAT中一个或多个PLC。
2. 资源
资源就是PLC的运行核,资源包括全局变量、任务、POU(程序组织单元) 一个资源可以有一个或多个任务
3. 任务
一个资源有一个或多个任务,任务具有优先级( 0 - 3),任务调用一个或多个程序,任务决定了所关联程序的时间调度。
4. 程序
根据控制过程的需要,包含函数和功能块的一个POU,任务调用程序,程序调用函数和功能块
5. 功能块(FB)
每次被执行就是运行一段程序编码,有变量输入输出和运算法则,可以调用函数和功能块
6. 函数
被函数或功能块调用,可以调用其他函数但是不能调用功能块
7. 局部变量
在一个POU(程序、功能块、函数)中定义,只能在POU中访问
8. 全局变量
在资源(PLC运行核)中申明,每个POU可以访问
9. 直接描述变量
具有固定地址的变量
地址:输入(I), 输出(Q) , 标记(M)
类型:位 (X), 字节 (B), 字 (W) , 双字 (D) 例如: %IW12, %QX1.1, %MB5
10. 冷启动
所有变量被初始化
11. 热启动
不进行变量初始化、原值被使用
12. 限定字符
不分大小写,关键字总是大写,无国家字符
13. 标识符
第一个不能使数字,不能连续多于一个下划线
14. 关键字
关键字总是大写
15. 注释
被(*和*)框住的内容,不能放在语句中,不允许嵌套
16. 数据类型
整型: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)
17. 自定义数据类型
TYPE ... END_TYPE 类型重定义相当于c/c++ typedef STRUCT ... END_STRUCT 定义自己的数据结构 定义枚举类型:TYPE Modes:
(Initting:=0,Runnin:=1,Idel,Reset,Faulty) END_TYPE
数组是具有相同数据类型的数值集合,允许三维数组存在 TYPE matrix:
ARRAY[1..23,0..1] OF INT END_TYPE
18. 变量
VAR
A,c,b : REAL; d,e :BOOL;
f : ARRAY[1..12] OF BOOL; 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 := ‘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
19. 函数
内部数据不存储 几个输入值 一个输出值
用户定义的函数可以用各种语言编辑代码 (除了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,EXP,SIN,COS,TAN,ASIN,ACOS,ATAN 类型转换:BOOL_TO_BYTE,REAL_TO_DINT 选择:SEL,MIN,MAX,LIMIT,MUX 比较:GT,GE,EQ,LT,LE,NE
字符串:LEN,LEFT,RIGHT,MID,CONCAT,INSERT,DELETE,REPLACE,FIND
20. 功能块
设立输入、输出和内部变量
运算法则建立新的输出和内部变量
参数被保持到下次执行(保存在存储器中)
功能块例程是一个结构,包含所有输入、输出和内部变量 一个FB允许建立读个例程
在FB的外部,只有输入、输出和输入/输出变脸传递参数 在其他的FB程序中,以不同的变成语言使用FB调用 一个FB例程在调用的FB/程序中是一个变量或全局变量 FB例程可以使对其他FB/程序的输入变量
触发器SR, RS, SEMA 沿探测 R_TRIG, F_TRIG 记数器CTU, CTD, CTUD 定时器TP, TON, TOF, RTC
21. 程序
程序可以有输入, 输出, 局部变量和算法的程序代码部分 不同于FB: 程序没有例程 程序没有存储器
在程序中使用各种语言
程序由任务来调用(TwinCAT : 可由其它程序调用)
22. 任务
用任务控制执行
执行不同循环时间的程序
指派任务的优先级(要求无间断运行程序必须有最高优先级) TwinCAT:每个PLC运行核有四个任务 强制优先时序 23. 编程语言
文本语言:结构文本(ST)、指令表(IL)
图形语言:功能图(FBD)、梯形图(LD)、顺序功能图(SFC) 24.
正在阅读:
TwinCAT编程笔记09-30
中国益智玩具市场运行现状及发展前景分析报告2016-2021年08-06
2014年中国硫酸锰行业全景调研报告05-18
主耶稣的话语02-06
长沙水泵出厂检验标准07-19
婚宴菜单经典菜名10-22
人教版九年级化学上册必背知识点(完整)07-30
一场考试作文800字06-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- TwinCAT
- 编程
- 笔记
- 消化内科学考试试卷及答案2
- 单摆的教学设计王景军
- 电工技术作业习题(第四章)答案(1)
- 流体力学期末考试简答题
- 2017-2023年中国獭兔养殖行业市场调查研究及投资潜力预测报告(目录)
- 《大学物理学》质点运动学练习题(马)
- 北京市昌平区2008-2009学年第一学期高三期末考试数学(文科)答案
- 对外汉语教学学习中易错易混淆点
- windows操作典型题目(1)
- 2005年版华北电网电气设备交接和预防性试验规程(华北电力集团公司)1
- 新厂房建设资料办理表格 - 图文
- 阿尔山旅游 - 图文
- 2-SXMB4 项目管理实施规划/(专项)施工方案报审表
- 2011年最新面试笔试题
- 江苏省征地补偿和被征地农民社会保障办法
- 196首最最最好听又经典英文歌介绍,整理收集
- 2014化学系有机化学下 A 试卷
- 努力塑造机关干部的良好形象
- 乒乓球比赛安全预案
- 制度管理与领导力提升培训-王一名