课件案例tm247tre.00-编程_第1页
课件案例tm247tre.00-编程_第2页
课件案例tm247tre.00-编程_第3页
课件案例tm247tre.00-编程_第4页
课件案例tm247tre.00-编程_第5页
已阅读5页,还剩49页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Automation Automation Basic 前培训模块TM210 Automation Studio TM211 前培训模块TM210 Automation Studio TM211 Automation TM213 自动化操作系统TM223 Automation :无硬件无目ERROR! BOOKMARK NOT Error! Bookmark not 2. AUTOMATION BASIC 目ERROR! BOOKMARK NOT Error! Bookmark not 2. AUTOMATION BASIC 6Error! Bookmark not defined. Erro

2、r! Bookmark not Error! Bookmark not 3. AUTOMATION BASIC 7Error! Bookmark not defined. Error! Bookmark not defined. Error! Bookmark not defined. Error! Bookmark not Error! Bookmark not 4. Error! Bookmark not defined. Error! Bookmark not defined. Error! Bookmark not defined. Error! Bookmark not Error!

3、 Bookmark not defined. Error! Bookmark not defined. Error! Bookmark not Error! Bookmark not Case 语句 Select 语句 loop循环语句5. ERROR! BOOKMARK NOT 6. ERROR! BOOKMARK NOT 7. ERROR! BOOKMARK NOT Error! Bookmark not Error! Bookmark not defined. Error! Bookmark not AutomationBasic(AB) 3简简Automation Basic 是一种高

4、级编程语言,如果你知道如何使用 Basic, PASCAL 或 ANSI C 简简Automation Basic 是一种高级编程语言,如果你知道如何使用 Basic, PASCAL 或 ANSI C Automation Basic。 Automation Basic (AB)有便于理解的标准语法结构, 是一种在自动化行业快速有效的编程语言.Fig. 1 书本印刷: 过去和Automation 4AutomationBasic简目课程参与者将熟悉使用 Automation Basic简目课程参与者将熟悉使用 Automation Basic (AB)编程语言编写技术应用程序课程参与者将熟悉每

5、个命令的含义以及功能AB 中的固定关键字Fig. 2 综AutomationBasic(AB) 5AutomationBasic特2. AUTOMATION BASIC 特概Automation Basic AutomationBasic特2. AUTOMATION BASIC 特概Automation Basic 是基于文本的高级编程语言,专门用于编写先进的自动化任务20 80 年代末期,Automation Basic IEC61131-3 标准,其语言Automation Basic PL2000 除此之外, AB 已经得到扩展,包含了广泛的先进编程语言的元素属Automation Ba

6、sic 有以下特征可能类似 PASCALAutomation Studio 提供以下功能6AutomationBasicAutomation Basic 基AUTOMATION BASIC 基表达Automation Basic 基AUTOMATION BASIC 基表达表达式是一个返回计算值的结构,是由操作数和运算符号组成. 操作数可以是一个赋通过表达式的结果或直接给变量赋值. 赋值语句包括位于左边的变量,通过操作符 =与右边的计算结果对应。相应,结构文本中使用操作符:=。所有的语句,包括赋值语句,必须要以分号;结尾。执行完这段代码后,Var1 Var2 的两倍AutomationBasic

7、(AB) 7le: 赋Fig. 4 赋举例: 表达Fig. 3 表达Automation Basic 基分有时候需要使用多个编辑符号将一行代码分开. 这样做,可以更好地组织代码,使Automation Basic 基分有时候需要使用多个编辑符号将一行代码分开. 这样做,可以更好地组织代码,使AB 的分行符号为,并不需要分隔符注注释部分解释代码的意思使之容易理解,继续代码写了很久,你或其他人同样可以容易理解程序. 注释部分不会编译,不影响执行程序.注释部分可以单行或者多行.8AutomationBasic举例: 注Fig. 6 单行注Fig. 7 多行注举例: 多行赋Fig. 5 多行Autom

8、ation Basic 基操作符优先(执行顺序).首先执行优先级别最高的, 接着执行低一级的. 知道完全执行完。如果优先级一AutomationBasic(AB) 9Automation Basic 基操作符优先(执行顺序).首先执行优先级别最高的, 接着执行低一级的. 知道完全执行完。如果优先级一AutomationBasic(AB) 9运算符符号/ 用法LN(A), MAX(X), 等非取模(取除法的余数*加减+-=Automation Basic 基运行时的执行顺序Automation Basic 基运行时的执行顺序AutomationBasic举例: 带圆括号的运算如下图所示, 圆括号

9、的使用影响表达式的执行顺序Fig. 9 执行表达式执行顺序从左边到右边. 首先执行圆括号的运算, 然后执行乘法运算, 因为圆括号的优先级别高. 你可以发现带括号后的运算结果不同.举例: 不带圆括号的运算Fig. 8 执行顺先执行乘法,再执行加法,最后是减法可以通过添加圆括号改变操作顺序。如下面的例子命令4. 命令Automation Basic 布尔运算 (逻辑运算布尔运BOOL 类型布尔运算此运算符号可用于逻辑操作,或者条件语句中. TRUE (1命令4. 命令Automation Basic 布尔运算 (逻辑运算布尔运BOOL 类型布尔运算此运算符号可用于逻辑操作,或者条件语句中. TRU

10、E (1) FALSE (AutomationBasic(AB) 输00000010111001111110运算逻辑运举a = NOT a = b AND a = b OR a = b XOR 命令AB 允许使用任意数量的圆括号命令AB 允许使用任意数量的圆括号AutomationBasic举例: IF 语Fig. 12 或运算源代举例: 布尔运Fig. 11 与运Fig. 11 与运算源代命令Automation命令AutomationBasic(AB) 练习:电灯控当按下BtnLigntOn开关后,输出DoLight应该亮起. 直到BtnLightOff 按下Fig. 13 电灯命令4.2

11、 算术运使用高级语言的决定是看它处理算术运算的简单程度Automation Basic 提供基本算术运算数据类型是一个非常重要. 看下面的表格命令4.2 算术运使用高级语言的决定是看它处理算术运算的简单程度Automation Basic 提供基本算术运算数据类型是一个非常重要. 看下面的表格*编译错误: 类型匹配错误:不能将 REAL .AutomationBasic注= 右边数据类型运算数据类值Op Op Res = 8 / 2Res = 8 / Res = 8.0 / Res = 8.0 / 运算算术操实=a = +加a = b + -减a = b *乘a = b * /除a = b /

12、 取模(显示余数a = b mod 命令编译器完成数据类型转换. 自动地将小的数据类型转换成大的数据类型. 如果表达式中包括各种数据类型,一个或多个运算符号, 先完成转换工作,再计算表达式.Fig. 14 编译器自动转换数据S_Var2 , 再作加法, AutomationBasic(AB) 实例: 数据转Fig. 15 固有数据转SDUxSxSDUxDUDxDDDDx命令编译器完成数据类型转换. 自动地将小的数据类型转换成大的数据类型. 如果表达式中包括各种数据类型,一个或多个运算符号, 先完成转换工作,再计算表达式.Fig. 14 编译器自动转换数据S_Var2 , 再作加法, Autom

13、ationBasic(AB) 实例: 数据转Fig. 15 固有数据转SDUxSxSDUxDUDxDDDDxDUUxUUDUUxx命令直接数据类型转换也是常用的转换类型. 表达式左右两边具有相同的数据类型, 但乍一看,没有任何任何问题. 但是, 有可能_Weight1 _Weight2)的值命令直接数据类型转换也是常用的转换类型. 表达式左右两边具有相同的数据类型, 但乍一看,没有任何任何问题. 但是, 有可能_Weight1 _Weight2)的值变量的取值范围. 遇到这种情况,必须先进行直接类型转换过_TotalWeight 必须要 数据类型.表达式右边至少有一个变量要Automation

14、Basic实例: 考虑到溢位实例: 溢位命令Automation命令AutomationBasic(AB) 练习: 养鱼养鱼池的温度在两个不同的地方测量. 编写程序计算平均温度,以模拟量输出注意模拟量的输入输出值必须Fig. 16 养鱼命令比较运Automation Basic 这类高级语言中,可以采用简单的结构来比较变量. 返回值为 TRUE 或 FALSE.IF, ELSE IF, EXITIF WHEN 语句中的逻辑条件判IF 语句往往要根据某一条件是否成立来决定执行哪一个语句. 会用到已经熟悉的比较运算符. 4 IF 语句:IF 语句 命令比较运Automation Basic 这类高

15、级语言中,可以采用简单的结构来比较变量. 返回值为 TRUE 或 FALSE.IF, ELSE IF, EXITIF WHEN 语句中的逻辑条件判IF 语句往往要根据某一条件是否成立来决定执行哪一个语句. 会用到已经熟悉的比较运算符. 4 IF 语句:IF 语句 IF ELSE 语句 IF ELSE IF 语句AutomationBasic选择语语句结说IF a b 1. Result = 1. 语句ELSE IF ELSE IF a c 2. 比较(可选Result = 2. 语句IF 语句为条件判断不为真(可选Result = 3. 语句运算逻辑比实=IF a = b IF a b IF

16、a b IF a = b IF a b IF a Result = Result + ement(s) End 命令LOOP TO / LOOP loop LOOP TO LOOP DOWNTO 用于运行有限循环的程序代码命令LOOP TO / LOOP loop LOOP TO LOOP DOWNTO 用于运行有限循环的程序代码Fig. 37 LOOP 语loop 中的语句循环执行. 每一次循环, 循环计数值Var增加或减少. 两个控制变量 Start 和End是起始值和终值. 达到终值时, 执行 ENDLOOP 之后的代码.Fig. 36 LOOP 语LOOP TO 语句增加循环计数值直到

17、到达终值. 相反, LOOP DOWNTO 语句减少循每次循环开始之前,首先要判断循环条件AutomationBasic(AB) 关键用说LOOP TO LOOP DOWNTO LOOP i = 0 TO 4 LOOP i = 5 DOWNTO 1 Res = value + Loop 命令Automation命令AutomationBasic警告注意,如果一个数组有个元素,取 0-将“load“ 变为含个元素的数组LOOP i=1 TO 5 DO;在次循环中, 你可以写. loadi = value;因为数组下标规定:0 练习: 起重起重机吊起 5 个独立负载. Fig. 38: 起重loo

18、p 命令EXITIF 语句可以用于循环语句中终止循环,且独立于循环语句Fig. 40 EXITIF命令EXITIF 语句可以用于循环语句中终止循环,且独立于循环语句Fig. 40 EXITIF 语Fig. 39 EXITIF 语Fig. 42 LOOP 语句中EXITIF 语句用于嵌套循环, EXITIF语句中的循环停止. 如果循环结束, 执行 ENDLOOP 语句之后的语句.Fig. 41嵌套循环中的 EXIT 语AutomationBasic(AB) 命令Automation Basic 中,可以使用两种方法调用功能块直接调用由名字直接调用功能块. 命令Automation Basic 中

19、,可以使用两种方法调用功能块直接调用由名字直接调用功能块. 输入和输出参数在圆括号内别名调用别名调用与之前的变量赋值方式不同. 定义的别名和结构元素Fig. 44 调用一个功能Fig. 43 调用一个功能调用一个功能模块前, 使用的变量必须以输入参数形式写入. 在两种情况下, 用于调用功能块的代码占一行. 执行后可以AutomationBasic命令首先输入功能模块名字, 圆括号内分别指定输入输出, 由逗号分开命令首先输入功能模块名字, 圆括号内分别指定输入输出, 由逗号分开首先给功能块结构中的输入参数赋值. 然后执行功能模块. 执行后输出参数在功能AutomationBasic(AB) 别名

20、功能模块调用详细说明Fig. 46 Detail view ias function block 功能块调用详细说明Fig. 45功能块调用详细命令Automation命令AutomationBasic备注在调用功能块是可以参考Automation 练习: 瓶子计数设计一个程序计算传送带上的瓶子数量. STANDARD CTU(上Fig. 47 瓶子计数命令指针和动态变B&R Automation Basic 命令指针和动态变B&R Automation Basic 中提供指针运行期间,分配一个内存地址给动态变量. 这一个过程叫做动态变量的初始化一旦动态变量完成初始化, Fig. 定位动态变,

21、 ADR(). 返回变量的内存地址. .AutomationBasic(AB) 练5. 练练5. 练AutomationBasic练习: 起重2 个传送带 (doConvTop, doConvBottom) 将盒子传输到起重机如果激活光电池 (diConvTop, diConvBottom), 则停止相应的传送带,启动起如果没有调用起重机, 则返回合适的位置 (doLiftTop, 当起重机在正确的位置时(diLiftTop, diLiftBottom), (doConvLift) 直到将盒子传送到起重机上起重机向卸载位置移动 (doLiftUnload). 当达到固定位置点时(diLiftU

22、nload),一旦盒子离开起重机后, 起重机等待下一次的调用图. 49 启重小小Automation Basic 小小Automation Basic 是一个高级语言,具有众多功能. 包含了项目应用的所有工具Fig. 50书本印刷: 过去和在完成本培训模块后,Automation Basic 任务. 本单元可当使用算术功能时计算表达式时,该编程语言功能特别强大AutomationBasic附7. 附关键AB 中的关键字是命令. 在Automation Studio Editor 中, 以蓝色显示. 这些关键字已经非常的熟悉; 下面表格中列出了的关键字. 附7. 附关键AB 中的关键字是命令.

23、在Automation Studio Editor 中, 以蓝色显示. 这些关键字已经非常的熟悉; 下面表格中列出了的关键字. 关键字不能用作变量名.AutomationBasic关键说使用动态变量Case 语句简单的数据类型用于描述数字量状态A = A为变量IN0 后的值。IN 值保持不变A = A为变量IN0 后的值。IN 值保持不变A := 位的状态值。A 为IN 变量位的状态值Case Loop 语句Loop 语句检测正值和负值检测下降沿信号检测上升沿信号If 语句Case 语句Case Case 语句If 语句Loop 语句Select 语句Loop 语句简单的数据类型, 32-位,

24、 浮点值调用别名功能模块Goto 语句If 语句简单的数据类型, 16-位, 正值或负值附功AB 库函数. Automation Studio Editor 中, 时以蓝色显示.下面表格中列出的关键字AutomationBasic(AB) 功实返回数的绝对值. ABS(-2) 返回数的反余弦 (余弦的反函数返回变量的地址位操作逻辑与返回数字的反正弦 (附功AB 库函数. Automation Studio Editor 中, 时以蓝色显示.下面表格中列出的关键字AutomationBasic(AB) 功实返回数的绝对值. ABS(-2) 返回数的反余弦 (余弦的反函数返回变量的地址位操作逻辑与

25、返回数字的反正弦 (正弦的反函数操作数向右移位: A = ASR (IN, IN N 个位数, 左边由符号位填充返回数的反切线 (正切的反函数返回数字的余弦指数: A = EXP 一个操作数加到另一个操作数上: A = EXPT (IN1, A = LIMIT (MIN, IN, MIN 是结果的下限, MAX IN MIN,MIN。如果 IN 大于 MAX,则返回结果是 MAX。否则,返回结果为 IN.返回数的自然对数10 的自然对数最大值函数. 返回两个值中较大的那个最小值函数. 返回两个值中较小的那个简单的数据类型, 32-位, 正值或负值8简单的数据类型, 8-位, 正值或负值简单的数

26、据类型, 32-位, 正值Loop 语句Select 语句Case 语句Case 语句Select 语句If 语句Loop Select 附AutomationBasic将, , , , 变量取模除另一个这些附AutomationBasic将, , , , 变量取模除另一个这些类型的变量。选择: A = MUX (CHOICE, IN1, IN2, . INX) CHOICE 的值决定返回 IN1, IN2, 等. INX.Negation of a bit operand by 逻辑或操作循环向左位移: A = ROL(IN, IN N 次, 最左边再移位到右边循环向右位移: A = ROR

27、 (IN, IN N 次, 最右边再移位到左边二进制选择: A = SEL (CHOICE, IN1, CHOICE BOOL. CHOICE 为假, IN1. N个位数: A = SHL (IN, N) IN N 个位数, 右边都为零N个位数: A = SHR (IN, N) IN N 个位数, 左边都为零.返回数字的正弦返回具体变量的字节数返回数字平方根返回数字的正切返回数字的整数部分逻辑异或操作附解练习: 光控练习: 附解练习: 光控练习: 养鱼练习: 气象- Part Exercise: 气象站- Part AutomationBasic(AB) 附练习: 酿造附练习: 酿造练习: 起重AutomationBasic附练习: 化附练习: 化学系AutomationBasic(AB) 附练习: 起附练习: 起重AutomationBasic附备附备Auto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论