ST语言编程手册.docx
《ST语言编程手册.docx》由会员分享,可在线阅读,更多相关《ST语言编程手册.docx(109页珍藏版)》请在三一文库上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除ST语言编程手册目录1. ST基本原理101.1语言描述101.1.1语法图101.1.2语法图中的块101.1.3规则的意义(语义)111.2基本元素的语言111.2.1 ST字符组111.2.2 ST中的标识符121.2.2.1标识符的规则121.2.2.2标识符举例131.2.3预留标识符131.2.3.1保护标识符141.2.4数字和布尔值201.2.4.1整数201.2.4.2浮点数211.2.4.3指数211.2.4.4布尔值211.2.4.5数字的数据类型221.2.5字符串221.3 ST源文件的结构231.3.1语句241.3.
2、2注释251.4数据类型261.4.1基本数据类型261.4.1.1基本数据类型261.4.1.2基础数据类型的值的范围限制281.4.1.3普通的数据类型291.4.1.4基础系统数据类型301.4.2用户定义的数据类型301.4.2.1用户定义的数据类型301.4.2.2用户定义的数据类型的语法(类型声明)311.4.2.3基础派生或派生的数据类型321.4.2.4 派生数据类型ARRAY331.4.2.5 派生的数据类型枚举341.4.2.6派生的数据类型STRUCT(结构)351.4.3技术目标数据类型371.4.3.1技术目标数据类型的描述371.4.3.2轴属性的继承381.4.3
3、3技术目标数据类型的例子391.4.4系统数据类型401.5变量声明401.5.1变量声明的语法401.5.2所有变量声明的概述421.5.3变量或数据类型的初始值431.6赋值和表达式461.6.1赋值471.6.1.1赋值的语法图471.6.1.2基础数据类型的变量的数值指定481.6.1.3串基础数据类型的变量数值指定481.6.1.4位数据类型的变量的数值指定491.6.1.5派生的枚举数据类型的变量的数值指定511.6.1.6派生的阵列数据类型的变量的数值指定511.6.1.7派生的STRUCT数据类型的变量数值指定511.6.2表达式521.6.2.1表达式结果521.6.2.2
4、表达式的解释顺序531.6.3运算对象531.6.4算术表达式541.6.4.1算术表达式的例子571.6.5关系表达式571.6.6逻辑表达式和位串行表达式591.6.7运算符的优先级601.7控制语句611.7.1 IF语句611.7.2 CASE语句631.7.3 FOR语句641.7.3.1处理FOR语句651.7.3.2 FOR语句规则651.7.3.3FOR语句例子661.7.4WHILE语句661.7.5REPEAT语句671.7.6EXIT语句671.7.7RETURN语句681.7.8WAIFORCONDITION语句681.7.9GOTO语句701.8数据类型转换701.8
5、1基础数据类型转换701.8.1.1隐式数据类型转换711.8.1.2显式数据类型转换731.8.2补充的转换742.功能,功能块和程序742.1创建和调用功能和功能块752.1.1定义功能752.1.2定义功能块762.1.3FC和FB的声明部分762.1.4FB和FC部分的语句782.1.5功能和功能块的调用792.1.5.1参数转移的原则792.1.5.2转移给输入参数的参数802.1.5.3参数转移给in/out参数812.1.5.4参数转移到输出参数(仅对FB)822.1.5.5参数访问时间822.1.5.6调用一个功能822.1.5.7调用功能块(实例调用)832.1.5.8 在
6、FB外访问FB输出参数842.1.5.9在FB外访问FB输入参数852.1.5.10FB调用时的错误源852.2功能和功能块的比较862.2.1例子说明862.2.2带注释的源文件872.3程序882.4表达式903.在SIMOTION中ST的集成923.1源文件部分的使用923.1.1源文件部分的使用923.1.1.1interface部分923.1.1.2implementation部分943.1.1.3程序组织单元(POU)943.1.1.4功能(FC)953.1.1.5功能块(FB)953.1.1.6程序963.1.1.7表达式973.1.1.8声明部分973.1.1.9语句部分983
7、1.1.10数据类型定义983.1.1.11变量声明993.1.2在ST源文件之间的导入和导出1013.1.2.1单元标识符1013.1.2.2一个导出单元的interface部分1023.1.2.3一个导出单元的例子1023.1.2.4在一个导入单元的USES语句1033.1.2.5一个导入单元的例子1043.2在SIMOTION中的变量1053.2.1变量模型1053.2.1.1单元变量1073.2.1.2不保留的单元变量1083.2.1.3保持单元变量1093.2.1.4本地变量(静态和临时变量)1103.2.1.5静态变量1123.2.1.6临时变量1133.2.2全局设备变量的使用
8、1143.2.3变量类型的存储范围1153.2.3.1存储区域的例子,有效关于KernelV3.11163.2.3.2本地数据栈变量的存储要求(kernel V3.1或更高)1193.2.4变量初始化的时间1213.2.4.1保留全局变量的初始化1213.2.4.2不保留的全局变量的初始化1223.2.4.3本地变量的初始化1233.2.4.4静态编程变量的初始化1243.2.4.5功能块实例的初始化1253.2.4.6技术目标的系统变量的初始化1253.2.4.7全局变量的版本ID和下载时的初始化1263.2.5变量和HMI设备1273.3访问输入和输出(过程图像,I/O变量)1293.3.
9、1访问输入和输出的概述1293.3.2直接访问和过程图像访问的重要特征1303.3.3直接访问和循环任务的过程图像1313.3.3.1 直接访问和循环任务的过程图像的I/O地址的规则1323.3.3.2为直接访问和循环任务的过程图像创建一个I/O变量1333.3.3.3输入I/O地址的语法图1343.3.3.4可能的I/O变量的数据类型1353.3.4背景任务的固定过程图像的访问1353.3.4.1背景任务的固定过程图像的绝对访问(绝对PI访问)1363.3.4.2一个绝对过程图像访问的标识符语法1373.3.4.3背景任务的固定过程图像的符号访问(符号PI访问)1383.3.4.4可能的符号
10、PI访问的数据类型1393.3.4.5符号PI访问的例子1393.3.4.6为访问背景任务固定过程图像而创建一个I/O变量1393.3.5访问I/O变量1403.4使用库1403.4.1编辑一个库1413.4.2库的know-how保护1423.4.3从库中使用数据类型,功能和功能块1433.5相同的标识符和命名空间的使用1443.5.1相同的标识符的使用1443.5.2命名空间1463.6参考数据1493.6.1交叉对照表1503.6.1.1创建一个交叉对照表单1503.6.1.2交叉对照表的内容1503.6.1.3交叉对照表的使用1513.6.2程序结构1513.6.2.1程序结构的内容1
11、523.6.3代码属性1523.6.3.1代码属性内容1533.7控制预处理器和pragma编辑1533.7.1控制一个预处理器1533.7.1.1预处理器语句1543.7.1.2预处理器语句的例子1573.7.2属性控制编辑器1583.8跳转语句和标签1604.错误源和程序调试1614.1避免错误和有效编程的注释1614.2程序调试1614.2.1程序测试的模式1614.2.1.1SIMOTION设备模式1614.2.1.2life-sign监视的重要信息1634.2.1.3life-sign监视参数1644.2.2符号浏览器1654.2.2.1符号浏览器的属性1654.2.2.2使用符号浏
12、览器1654.2.3在watch表中监视变量1674.2.3.1在watch表中的变量1674.2.3.2使用watch表格1674.2.4程序运行1684.2.4.1程序运行:显示代码位置和调用路径1684.2.4.2参数调用栈程序运行1694.2.4.3程序运行工具栏1694.2.5程序状态1694.2.5.1程序状态的属性1694.2.5.2使用状态程序1704.2.5.3程序状态的调用路径1724.2.5.4参数调用路径状态程序1734.2.6断点1734.2.6.1设置断点的普通步骤1734.2.6.2设置debug模式1744.2.6.3定义debug任务组1754.2.6.4de
13、bug任务组参数1764.2.6.5debug表格参数1774.2.6.6设置断点1774.2.6.7断点工具栏1794.2.6.8定义一个单独断点的调用路径1794.2.6.9断点调用路径/任务选择参数1814.2.6.10定义所有断点的调用路径1824.2.6.11每个POU所有断点的调用路径/任务选择参数1834.2.6.12激活断点1844.2.6.13显示调用栈1854.2.6.14断点调用栈参数1864.2.7追溯1861. ST基本原理此章节描述了ST中的语言资源和使用方法。请注意此章节中描述了功能、功能块和任务控制系统。一个完整正式的语言描述包括语法图。1.1语言描述在本手册的
14、下列章节中语法图用作语言描述的基础,为你提供了对ST语法结构的新认识。1.1.1语法图语法图是对语法结构的图形式的阐述。结构是由一系列的规则描述组成。可以基于现有的规则生成新的规则。上图中的语法图需从左至右读。需要注意下列规则结构:序列:块的序列选项:可以跳过的语句迭代:一个或多个语句的重复替代:Branch1.1.2语法图中的块块是基本元素。下图显示了代表块而使用的符号类型。 要更多解释的基本元素 由更多的语法图解释的复合单元当输入源文本时需要注意格式化规则和非格式化规则。比如:把语法图中的块或元素转化为源文本(见帮助中的语言描述,第291页)1.1.3规则的意义(语义)规则能仅代表语言的格
15、式结构。意义(语义)一般不明显。由于这个原因,如果意义很关键,则需要在规则旁边写上额外的信息。如果同类型的元素意义不同,需要附上额外的命名。例如,额外指定每个十进制字符串元素年,月或日(见308页)。名称表示了用途 重要的限制也列出。如:整数规则中对于(负号),标明负号只能在SINT, INT, and DINT数据类型之前出现(见308页)1.2基本元素的语言ST语言的基本元素包括ST字符组, 根据ST字符组(如:语言命令)创建的预留标识符,自定义的标识符和数字。ST字符组合预留标识符都是基本的元素(terminals),因为是无需另外的规则来描述。自定义的标识符和数字不是terminals
16、因为它们是由另外的规则来描述。在语法图中,终端是由圆形或者椭圆形符号来表示,但是复合单元由长方形来表示(见语法图中的块,第72页)。下列内容是主要终端的节选,作为全局预览,参考基本元素(terminals,第294页)1.2.1 ST字符组ST使用ASCII字符组中的下列字母和数字从A到Z的大小字母从0到9的阿拉伯数字字母和数字是最常用的字符。例如,标识符是字母,数字和下划线的组合。下划线是特殊的字符之一。特殊字符在ST中有特定的含义(见第291页的正式语言描述和第294页的基本元素)1.2.2 ST中的标识符标识符的ST中的名称。这些名称可以根据系统来定义,例如语言命令等。但是,名称可以是
17、用户定义,比如常量、变量或功能。1.2.2.1标识符的规则标识符是由字母(A到Z,a到z)、数字(0到9)或单独的下划线随意组成,但是首字符必须是字母或者下划线。大小写字母没有区分(比如,在编辑器中Anna和AnNa是一样的)。一个正式的标识符可以由以下的语法图表示:命名时,最好选用唯一的、有意义的命名,以便解释程序。图表中的语法图声明了一个标识符的首字符必须是字母或者下划线。下划线必须跟着字母或数字。如:不允许连续有两根或以上的下划线。下划线可以跟着任意或者一系列的数字,下划线或字母。在这唯一的例外是两条下划线可能不会同时出现。1.2.2.2标识符举例有效的标识符无效的标识符无效标识符原因4
18、ter第一次字符必须为一个字母或者下划线*#AB不允许特殊字符(除了下划线)RR_20不允许有两个下划线S value不允许出现空格,因为是特殊字符Array虽然ARRAY是一个正式有效的标识符,但是它是一个预留标识符。,只能做预先定义使用。这意味着你不能使用这个名称,比如:变量标识符不能用作绝不定义标识符:与预留标识符一样与任务命名相匹配注意:如有可能,避免定义由下划线,struct,enum,或者command开始的标识符虽然这些是有效的标识符,当你下载技术包时可能导致出现错误。在基础系统和在技术包中命令词语,参数或数据类型以这些字符开始。1.2.3预留标识符预留标识符可能和预先定义的用途
19、不一样。你不能用预留标识符的名称来命名一个变量或者数据类型。符号的大小写无区别。所有标识符的预先定义的意义可以在SIMOTION基本功能功能手册中找到:ST编程语言中的保护或者预留标识符,欲知更多,请见76页和81页标准功能和功能定义的数据类型,欲知更多,请见251页系统的常规功能块SIMOTION设备系统功能、系统变量和数据类型技术目标的系统功能、系统变量和数据类型1.2.3.1保护标识符ST语言中的保护标识符全列在了下表中。欲见所有预留词的简短描述,请见附录预留词语(第299页)和规则附录中的语法图(第307页)3.2.3.2额外的预留标识符下表包含了将来扩展所有的预留标识符。1.2.4数
20、字和布尔值在ST中可以通过多种方式编写数字。数字可以包括一个符号、一个小数点或者一个指数。下列规则适用于所有的数字:数字中不能出现逗号和空格下划线允许作为视觉上的分隔线数字可以冠以正号(+)或者负号(),如果没有使用符号则认为数字为正。数字不能超过确定的最大值或最小值1.2.4.1整数整数既不包括小数点也不包括指数。一个整数是一系列的数字,也可以在前面加上一个符号。下列为有效的整数:0 1 +1 -1743 -528060 000-32 211 321下列整数为无效,并且已经列出原因:123,456不允许有逗号36.整数不能包括小数点10 20 30不允许有空格在ST中,你可以使用不同的编号体
21、系来表示整数。通过插入编号系统的关键字前缀来实现。2#为二进制8#为八进制16#为十六进制十进制小数15的有效表示方式为:2#1111 8#1716#F1.2.4.2浮点数下列为有效的浮点数0.0 1.3 -0.2 827.6020000.0+0.00074360_000.15-315.0066下列为无效的浮点数1. 数字必须出现在小数点之前或之后1,000.0不允许有逗号1.333.333不允许有两个小数点1.2.4.3指数指数可以用来定义小数点的位置。如果没有出现小数点,我们就假设位于数字的右侧。指数必须为正整数或负整数。基数10用字母E来表示。3 x 108在ST中可以通过下列正确的浮点
22、数来表示:3.0E+83.0E83e+83E80.3E+90.3e930.0E+730e7下列浮点数是无效的:3.E+8数字必须出现在小数点之前或之后8e2.3指数必须为一个整数.333e-3数字必须出现在小数点之前或之后30 E8不允许有空格1.2.4.4布尔值布尔值是恒定常量。必须通过0或者1,TRUE或者FALSE来表示。1.2.4.5数字的数据类型编辑器根据数值和使用来自动选择适合数字的基本数据类型。也可以直接指定数据类型。在数字前面输入数据类型(数字数据类型)和字符“#”。1.2.5字符串什么是字符串?一个字符串是许多的0或在最前面或者最后面带撇号的多字符。每个字符在串中一个字符可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ST 语言 编程 手册
