Similar documents
OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1A1D4F1>


Microsoft PowerPoint - 01_Introduction.ppt

编译原理与技术

/ / (FC 3)...

Microsoft PowerPoint - 07 派生数据类型

CHAPTER 1

SA-CPCB81TRA-CN (Panduit INdustrial Automation Solutions).indd

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

Microsoft PowerPoint - ds-1.ppt [兼容模式]

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

PowerPoint 演示文稿

NethersoleJO89(8).indd


上市公司股东大会投票信息公告( )

郑 州 煤 电 重 要 事 项 未 公 告, 连 续 停 牌 金 圆 股 份 重 大 事 项, 特 停 永 鼎 股 份 重 要 事 项 未 公 告, 连 续 停 牌 长 城 影 视 临 时 停 牌 天 兴 仪 表 临 时 停 牌

金 圆 股 份 重 大 事 项, 特 停 长 城 影 视 临 时 停 牌 天 兴 仪 表 临 时 停 牌 商 赢 环 球 重 要 事 项 未 公 告, 连 续 停 牌 荣 安 地 产 临 时 停 牌 中 南 文 化

欢迎辞

金 陵 饭 店 中 兴 华 已 报 备 按 照 国 资 委 要 求 定 期 轮 换 天 衡 已 报 备 按 照 国 资 委 要 求 定 期 轮 换 *ST 中 富 中 喜 已 报 备 业 务 约 定 书 到 期 普

日 涨 幅 偏 离 值 达 到 7% 的 前 五 只 证 券 : 温 氏 股 份 ( 代 码 ) 涨 幅 偏 离 值 :11.68% 成 交 量 :1752 万 股 成 交 金 额 : 万 元 机 构 专 用 机 构 专 用

股票代码: 股票简称:*ST新梅 编号:临

东 华 能 源 江 苏 苏 亚 金 诚 已 报 备 因 地 域 及 审 计 时 间 安 排 等 原 因 中 兴 华 已 报 备 客 户 重 新 选 聘 会 计 师 事 务 所 亿 帆 鑫 富 立 信 已 报 备 客

昆 明 机 床 瑞 华 已 报 备 前 任 服 务 年 限 较 长 毕 马 威 华 振 已 报 备 未 与 客 户 未 就 2015 年 审 计 收 费 达 成 一 致 意 见 中 国 核 电 天 健 已 报 备 定

金 利 科 技 临 时 停 牌 凤 凰 光 学 重 要 事 项 未 公 告, 连 续 停 牌 安 源 煤 业 重 要 事 项 未 公 告, 连 续 停 牌 万 泽 股 份 临 时 停 牌 爱 康 科 技 重 大 事 项, 特 停

光 一 科 技 重 大 事 项, 特 停 茂 业 商 业 重 要 事 项 未 公 告, 连 续 停 牌 浙 富 控 股 重 大 事 项, 特 停 键 桥 通 讯 重 大 事 项, 特 停 黑 牛 食 品 重 大 事 项, 特 停

卧 龙 地 产 重 要 事 项 未 公 告, 连 续 停 牌 春 兴 精 工 临 时 停 牌 *ST 沧 大 重 要 事 项 未 公 告, 连 续 停 牌 天 地 源 重 要 事 项 未 公 告, 连 续 停 牌 汇 冠 股 份

证券代码:000776   股票简称:延边公路   编号:2003-00

商 业 城 大 华 标 准 70 万 70 万 驰 宏 锌 锗 瑞 华 标 准 140 万 150 万 亚 星 锚 链 江 苏 公 证 天 业 标 准 80 万 80

辉 丰 股 份 重 大 事 项, 特 停 南 方 轴 承 临 时 停 牌 德 力 股 份 临 时 停 牌 瑞 丰 光 电 临 时 停 牌 联 建 光 电 临 时 停 牌 卡 奴 迪 路 临 时 停 牌

Untitled Document

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

设计模式 Design Patterns

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

电机与电器专业人才培养方案实施保障.doc

untitled

投稿類別:電子工程類

C/C++语言 - 运算符、表达式和语句

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

<4D F736F F F696E74202D20D0CBB3CECCD8B8D6C5E0D1B52E BBCE6C8DDC4A3CABD5D>

PowerPoint 演示文稿

chp3

Microsoft Word - 第3章.doc

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法

untitled

WWW PHP Comments Literals Identifiers Keywords Variables Constants Data Types Operators & Expressions 2

大侠素材铺

chap07.key

<4D F736F F D204323B3CCD0F2C9E8BCC6BDCCB3CCA3A8B5DA33B0E6A3A9CEA2BFCEB0E620B5DA33D5C22E646F63>

Microsoft Word - 第3章.doc

《C语言程序设计》教材习题参考答案

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

没有幻灯片标题

给初学者的入门知识 1. 建立和运行 shell 程序什么是 shell 程序呢? 简单的说 shell 程序就是一个包含若干行 shell 或者 linux 命令的文件. 象编写高级语言的程序一样, 编写一个 shell 程序需要一个文本编辑器. 如 VI 等. 在文本编辑环境下, 依据 shel

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

计算概论A B03 C++语言的基本成分 - 运算成分(2)

instructions.PDF

《C语言程序设计》第2版教材习题参考答案

Microsoft PowerPoint - string_kruse [兼容模式]

PowerPoint 演示文稿

第一章 引言

Microsoft Word - 第3章.doc



第 21 讲 CGI 程序 byperl 及 PHP 小结 张高川 遗传学与生物信息学系基础医学与生物科学学院苏州大学医学部 WX: zhanggaochuan QQ: 苏州大学医学部基础医学与生物科

新版 明解C++入門編

NAPro V5.1 软件

第二部分动态网站开发语言 第 3 课动态网页脚本语言 VBScript 本课导读 VBScript 是由微软公司推出的, 其语法是由 Visual Basic(VB) 演化来的, 可以看作是 VB 语言的简化版, 与 VB 的关系也非常密切 它具有原语言容易学习的特性 目前这种语言广泛应用于网页和

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l

概述

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony

北京大学

<4D F736F F D204A617661B3CCD0F2C9E8BCC6BBF9B4A1A3A8B5DA35B0E6A3A9CAB5D1E9D6B8B5BCD3EBCFB0CCE2BDE2B4F020B5DA33D5C22E646F63>

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2

工业和信息化部 水利部 全国节约用水办公室

第5章修改稿

3. 反 映 : 4. 五 花 八 门 : 5. 慷 慨 : 6. 参 与 : 7. 慰 劳 : 8. 延 续 : 9. 珍 爱 : 10. 浪 漫 : 三. 找 出 下 列 每 组 词 中 的 近 义 词 或 同 义 词 : 节 日 节 气 节 令 时 节 习 俗 民 俗 仪 式 风 俗 文 献

SYSMAC-SCS Version 2

Guava学习之CharSequenceReader

数学软件 Matlab 编程基础 ( 脚本 ) 1

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

C/C++语言 - C/C++数据

CHAPTER VC#

Microsoft Word - 第3章.doc

Microsoft Word - oracle-排版文件.doc

untitled

FY.DOC

R 软件介绍 (3): R编程基础

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

如何学习一门编程语言

Microsoft Word - 教学大纲.doc

R 软件介绍 (3): R编程基础

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架

内容提纲 基本语法规则 变量数据类型 程序基本结构 描述组合逻辑电路 2015/10/24 模拟与数字电路 Verilog HDL(1) 2

Transcription:

结构文本 (ST) TM246

简介 前提 培训模块 : 软件 : 硬件 : TM0 Automation Studio 基础 TM Automation Studio 在线通讯 TM 自动化运行 (Runtime) 系统 TM Automation Studio 诊断 无 无 结构文本 (ST) TM

目录 简介. 目的 结构文本特点. 概述. 特点. 可能性 结构文本基础. 表达式. 赋值. 注释. 操作符优先级 命令组. 布尔逻辑操作. 算术运算. 比较操作. 判断. Case 语句. Loops. 调用功能块. 指针和动态变量 小结 练习 附录. 关键字. 函数 结构文本 (ST) TM

简介 1 简介结构文本是一种高级语言, 如果你知道如何使用高级语言来编程, 像 :Basic PACSAL 或 C, 那么你会很轻松的掌握 Structured Text(ST) 编程 ; 如果不知道, 你会看到 ST 有着简单 标准的结构, 保证程序高效 快速运行并简单易懂 图. 书本印刷 : 过去和现在 在下一章里, 你会学习到 ST 的命令 关键字 语法和其它的主题 所有的这些你都可以做练习, 我们有许多帮助你理解 ST 的简单例程 结构文本 (ST) TM

简介 1.1 目的课程参与者将熟悉使用结构文本给自动化目标编程 课程参与者将学到每个独立的命令组和它们之间如何工作 课程参与者将了解结构文本预留的关键字 图. 综述 结构文本 (ST) TM

结构文本特点 2 结构化文本的特点 2.1 概述 ST 是针对自动化系统的高级文本编程语言 简单的标准结构确保快速 高效的编程 ST 使用了高级语言的许多传统特性, 包括 : 变量 操作符和控制流程语句 ST 还能与其它的 PLC 编程语言一起工作 那么什么是结构文本呢?" 结构 " 是指高水平的结构化编程能力, 象一个 " 结构化的编程 ";" 文本 " 是指应用文本而不是梯形图和顺序函功能表的能力 ST 语言不能代替其它的语言, 每种语言都有它自己的优点和缺点 ST 主要的一个优点就是能简化复杂的数学方程 2.2 特点结构化文本有以下特点 : 高级文本编程语言结构化的编程简单的标准结构快速高效的编程使用直观灵活与 PASCAL 类似有计算机编程经验的人可以很容易地使用它符合 IEC - 标准 2.3 可能性 Automation Studio 提供以下功能 : 数字量和模拟量 I/O 逻辑操作逻辑比较表达式算术运算判断语句机器的状态语句循环语句功能块可选用的动态变量诊断工具 结构文本 (ST) TM

结构文本基础 3 结构文本基础 3.1 表达式表达式是指返回变量评估值的结构 表达式由操作符和操作数组成 操作数可以是常量, 变量, 调用函数或其它表达式 例子 : 3.2 赋值操作符通过一个表达式和一个值来给变量赋值 赋值语句包括位于左边的变量, 赋值操作符 ":=", 及后边需要计算的表达式 所有的语句, 包括赋值语句, 必须要以分号 ";" 结尾 例子 : 图 Assignment 当这行程序执行后, 变量 "Var" 的值是变量 "Var" 的两倍 3.3 注释虽然注释经常被删掉, 但它们是源代码中非常重要的一部分 它们解释了一部分代码, 使程序更易读懂 注释帮助你或其他人读你的程序, 即使过去了很长时间 注释不被编译, 因此不会影响程序的执行 注释应该用一对星号和小括号括起来 "(*comment*)" 例子 : 图. 单行注释 结构文本 (ST) TM

结构文本基础 3.4 操作符优先级如果在一个表达式中使用几个操作符, 就会出现优先级的问题 ( 执行的顺序 ) 操作符按优先级的顺序来执行 在任何一个表达式中, 首先执行最高级别的操作符, 接着执行低一级的操作符, 等等, 直到执行完所有的操作符 具有相同级别的操作符按照书写顺序从左至右依次执行 操作符 符号 / 语法 : 括号 () 最高优先级 函数调用例子 Call argument(s) LN(A), MAX(X), 等. 注释 ** 取反 NOT 乘除取模 ( 取除法的余数 ) * / MOD 加减 + - 比较 <, >, <=, >= 等于不等于 = <> 逻辑与 AND 逻辑异或 XOR 逻辑或 OR 最低优先级 结构文本 (ST) TM

结构文本基础 执行顺序 : 例 : 图. 例 : 执行顺序 首先做乘法, 然后是加法, 最后是减法 使用小括号 ( 最高优先级 ), 可以得到你想要的执行顺序 看下面的例子 例 : 如下所示, 将操作符放到小括号里可能影响执行的顺序 图. 例 : 执行顺序 表达式从左至右执行 先执行小括号里的操作, 接着是乘法 因为小括号的优先级高于乘法的优先级 可以看出, 这两个例子看起来很相似, 但结果不同 结构文本 (ST) TM

命令组 4 命令组 ST 有下面的命令组 : 布尔逻辑操作算术操作比较操作判断 Case 语句 4.1 布尔逻辑操作操作数不需要是 BOOL 类型 布尔逻辑操作 : 符号 逻辑操作 例子 NOT 取反 a := NOT b; AND 逻辑与 a := b AND c; OR 逻辑或 a := b OR c; XOR 异或 a := b XOR c; 真值表 : 输入 AND OR XOR 0 0 0 0 0 0 0 0 0 0 这些操作符可以形成一个逻辑表达式和条件语句, 结果是真 (TRUE) 或假 (FALSE) 结构文本 (ST) TM

命令组 例 : 图. 0 电气图 ST 编辑器允许任何数的分枝 例 : 图. 0 电气图 练习 : 当按下 "BtnLigntOn" 开关后, 输出 "DoLight" 应该亮起, 直到 "BtnLightOff" 按下后才关闭 使用布尔逻辑操作编写该任务 图. 例子, 逻辑操作 10 结构文本 (ST) TM

命令组 4.2 算术运算使用高级语言的决定性因素是看它处理算术运算的简单程度 4.2.1 基本的算术运算 ST 为应用程序提供了以下基本的算术运算 : 符号 算术操作 例子 := 赋值 a := b; + 加 a := b + c; - 减 a := b - c; * 乘 a := b * c; / 除 a := b / c; MOD 取模 ( 显示余数 ) a := b mod c; 数据类型是非常重要的参数 看下面的表格 : 语法 数据类型 结果 Res Op Op Res := / ; INT INT INT Res := / ; REAL INT INT.0 Res :=.0 / ; REAL REAL INT. Res :=.0 / ; INT REAL INT Error * 编译器出错信息 : Type mismatch: Cannot convert REAL to INT. 你可以看到, 结果也依赖于语法和数据类型 表达式左边的数据类型应该等同于 ( 或大于 ) 右边的数据类型 备注 : 左面数据类型 := 右面数据类型 ; 结构文本 (ST) TM 11

命令组 4.2.2 隐性数据类型转换该类型的转换由编译器完成 编译器将表达式中低的数据类型转换成高的数据类型 如果有两种或多个类型的变量参与运算, 那么必须将它们转换成相同的类型以便执行运算 Data type BOOL SINT INT DINT USINT UINT UDINT REAL BOOL BOOL x x x x x x x SINT x INT DINT USINT UINT UDINT REAL INT x INT DINT INT UINT UDINT REAL DINT x DINT DINT DINT UDINT UDINT REAL USINT x USINT INT DINT UINT UDINT REAL UINT x UINT UINT DINT UINT UDINT REAL UDINT x UDINT UDINT UDINT UDINT UDINT REAL REAL x REAL REAL REAL REAL REAL REAL 图. 隐性数据类型转换 例子 : 图. 固有数据类型转换例子 SINT_Var 首先转换成 INT 类型 12 结构文本 (ST) TM

命令组 4.2.3 显性数据类型转换显性数据类型转换也是数据类型转换问题 我们知道, 表达式的左右两边要有相同的数据类型, 但还需注意 例子 : 第一眼看上去好像没什么问题, 但和 (INT_Weight+INT_Weight) 超过了 INT 的取值范围 在这种情况下, 必须使用显性数据类型转换 例子 : 变量 DINT_TotalWeight 应该为 DINT 类型, 右边的变量中至少有一个应转换成 DINT 类型 这种转换用的是 OPERATOR 库中的函数 练习 : 在两个不同的地方检测玻璃钢的温度, 编写程序来计算平均温度, 并以模拟量显示输出 注意模拟量输入和输出必须是 INT 类型 图. 玻璃钢 结构文本 (ST) TM 13

命令组 4.3 比较操作高级编程语言 ST 或以允许比较操作的简单结构分枝 比较的结果是真 (TRUE) 或假 (FALSE) 符号逻辑比较含义例子 = 等于 IF a = b THEN <> 不等于 IF a <> b THEN > 大于 IF a > b THEN >= 大于等于 IF a >= b THEN < 小于 IF a < b THEN <= 小于等于 IF a <= b THEN 比较操作作为一个逻辑条件用在 IF, ELSE, WHILE 和 UNTIL 语句中 4.4 判断用 IF 语句表示判断, 这里还要用到比较操作 判断分三部分 : 简单 IF 语句 IF ELSE 语句 IF ELSIF 语句嵌套的 IF 判断语法描述 IF THEN IF a > b THEN 1. 比较 Result := 1; 1. 语句 (s) ELSIF THEN ELSIF a > c THEN 2. 比较 ( 可选 ) Result := 2; 2. 语句 (s) ELSE ELSE 前面 IF 语句都不满足 ( 可选 ) Result : = 3; 3. 语句 (s) END_IF END_IF 判断结束 14 结构文本 (ST) TM

命令组 4.4.1 IF 最简单的 IF 判断语句 图. 简单 IF 语句流程图 例子 : 图. 简单 IF 语句程序 基本上, 如果条件表达式的结果为 TRUE 就执行语句 如果条件表达式的结果是 FALSE, 程序就执行 END_IF 后面的语句 条件表达式可以是简单关联的语句或用运算符 (and,or 等 ) 连接的复合语句 结构文本 (ST) TM 15

命令组 4.4.2 ELSE 它是简单 IF 语句的扩展 在 IF 结构中应该只有一个 ELSE 图. IF- ELSE 语句 图. IF ELSE 程序 如果条件为 TRUE, 执行语句 A 如果条件为 FALSE, 执行语句 B 16 结构文本 (ST) TM

命令组 4.4.3 ELSIF 运用一个或多个 ELSE_IF 语句可以实现多个不同的条件, 而不用使用多个简单的 IF 语句创建复杂的程序逻辑 图. IF-ELSIF-ELSE 流程图 图. 0 IF-ELSIF-ELSE 程序 处理器自上而下地执行判定 如果条件的结果为 TRUE, 那么就执行属于这个条件的指令和命令, 之后处理器就跳到判断语句的结尾 (END_IF) 在程序的一次循环中, 无论下一个条件是否为 TRUE, 只有上面属于第一个条件 TRUE 的语句被执行 如果 IF 或 ELSIF 条件都不为 TRUE, 那么就执行属于 ELSE 下的指令 结构文本 (ST) TM 17

命令组 任务 : 气象站 第 I 部分 用温度计来测量室外的温度, 温度通过模拟量读取 ( =0), 并且要以文本的形式在房间里显示 当温度在 C 以下, 显示 "cold"( 冷 ) 当温度是在 C 到 C 之间, 显示 "opt"( 最佳 ) 当温度是 C 以上, 显示 "hot"( 热 ) 用 IF,ELSIF 和 ELSE 语句实现这个任务 图. 温度计, 例子, IF 备注 : 在 ST 中, 按如下指定一个字符串文本 : StringVar := COLD 18 结构文本 (ST) TM