《SIMOTION-ST编程说明书.中文》由会员分享,可在线阅读,更多相关《SIMOTION-ST编程说明书.中文(181页珍藏版)》请在金锄头文库上搜索。
1、目录3. ST基本原理73.1语言描述7语法图7语法图中的块7规则的意义(语义)83.2基本元素的语言83.2.1 ST字符组83.2.2 ST中的标识符9标识符的规则9标识符举例10预留标识符10保护标识符11数字和布尔值17整数17浮点数18指数18布尔值18数字的数据类型19字符串193.3 ST源文件的结构20语句21注释223.4数据类型23基本数据类型23基本数据类型23基础数据类型的值的范围限制25普通的数据类型26基础系统数据类型27用户定义的数据类型27用户定义的数据类型27用户定义的数据类型的语法(类型声明)28基础派生或派生的数据类型293.4.2.4 派生数据类型ARR
2、AY303.4.2.5 派生的数据类型枚举31派生的数据类型STRUCT(结构)32技术目标数据类型34技术目标数据类型的描述34轴属性的继承35技术目标数据类型的例子36系统数据类型373.5变量声明37变量声明的语法37所有变量声明的概述39变量或数据类型的初始值403.6赋值和表达式43赋值44赋值的语法图44基础数据类型的变量的数值指定45串基础数据类型的变量数值指定45位数据类型的变量的数值指定46派生的枚举数据类型的变量的数值指定48派生的阵列数据类型的变量的数值指定48派生的STRUCT数据类型的变量数值指定48表达式49表达式结果49表达式的解释顺序50运算对象50算术表达式5
3、1算术表达式的例子54关系表达式54逻辑表达式和位串行表达式56运算符的优先级573.7控制语句583.7.1 IF语句583.7.2 CASE语句603.7.3 FOR语句61处理FOR语句623.7.3.2 FOR语句规则62语句例子63语句63语句64语句64语句65语句65语句673.8数据类型转换67基础数据类型转换67隐式数据类型转换68显式数据类型转换70补充的转换714.功能,功能块和程序714.1创建和调用功能和功能块72定义功能72定义功能块73和FB的声明部分73和FC部分的语句75功能和功能块的调用76参数转移的原则76转移给输入参数的参数77参数转移给in/out参数
4、78参数转移到输出参数(仅对FB)79参数访问时间79调用一个功能79调用功能块(实例调用)804.1.5.8 在FB外访问FB输出参数81在FB外访问FB输入参数82调用时的错误源824.2功能和功能块的比较83例子说明83带注释的源文件844.3程序854.4表达式875.在SIMOTION中ST的集成895.1源文件部分的使用89源文件部分的使用89部分89部分91程序组织单元(POU)91功能(FC)92功能块(FB)92程序93表达式94声明部分94语句部分95数据类型定义95变量声明96在ST源文件之间的导入和导出98单元标识符98一个导出单元的interface部分99一个导出单
5、元的例子99在一个导入单元的USES语句100一个导入单元的例子1015.2在SIMOTION中的变量102变量模型102单元变量104不保留的单元变量105保持单元变量106本地变量(静态和临时变量)107静态变量109临时变量110全局设备变量的使用111变量类型的存储范围112存储区域的例子,有效关于KernelV3.1113本地数据栈变量的存储要求(kernel V3.1或更高)116变量初始化的时间118保留全局变量的初始化118不保留的全局变量的初始化119本地变量的初始化120静态编程变量的初始化121功能块实例的初始化122技术目标的系统变量的初始化122全局变量的版本ID和下
6、载时的初始化123变量和HMI设备1245.3访问输入和输出(过程图像,I/O变量)126访问输入和输出的概述126直接访问和过程图像访问的重要特征127直接访问和循环任务的过程图像1285.3.3.1 直接访问和循环任务的过程图像的I/O地址的规则129为直接访问和循环任务的过程图像创建一个I/O变量130输入I/O地址的语法图131可能的I/O变量的数据类型132背景任务的固定过程图像的访问132背景任务的固定过程图像的绝对访问(绝对PI访问)133一个绝对过程图像访问的标识符语法134背景任务的固定过程图像的符号访问(符号PI访问)135可能的符号PI访问的数据类型136符号PI访问的例
7、子136为访问背景任务固定过程图像而创建一个I/O变量136访问I/O变量1375.4使用库137编辑一个库138库的know-how保护139从库中使用数据类型,功能和功能块1405.5相同的标识符和命名空间的使用141相同的标识符的使用141命名空间1435.6参考数据146交叉对照表147创建一个交叉对照表单147交叉对照表的内容147交叉对照表的使用148程序结构148程序结构的内容149代码属性149代码属性内容1505.7控制预处理器和pragma编辑150控制一个预处理器150预处理器语句151预处理器语句的例子154属性控制编辑器1555.8跳转语句和标签1576.错误源和程序
8、调试1586.1避免错误和有效编程的注释1586.2程序调试158程序测试的模式158设备模式158life-sign监视的重要信息160life-sign监视参数161符号浏览器162符号浏览器的属性162使用符号浏览器162在watch表中监视变量164在watch表中的变量164使用watch表格165程序运行165程序运行:显示代码位置和调用路径165参数调用栈程序运行166程序运行工具栏166程序状态166程序状态的属性167使用状态程序168程序状态的调用路径170参数调用路径状态程序171断点171设置断点的普通步骤171设置debug模式172定义debug任务组172任务组参
9、数174表格参数174设置断点175断点工具栏176定义一个单独断点的调用路径177断点调用路径/任务选择参数178定义所有断点的调用路径179每个POU所有断点的调用路径/任务选择参数180激活断点181显示调用栈183断点调用栈参数184追溯1843. ST基本原理此章节描述了ST中的语言资源和使用方法。请注意此章节中描述了功能、功能块和任务控制系统。一个完整正式的语言描述包括语法图,详见目录(第307页)。3.1语言描述在本手册的下列章节中语法图用作语言描述的基础,为你提供了对ST语法结构的新认识。语法图语法图是对语法结构的图形式的阐述。结构是由一系列的规则描述组成。可以基于现有的规则生
10、成新的规则。上图中的语法图需从左至右读。需要注意下列规则结构:序列:块的序列选项:可以跳过的语句迭代:一个或多个语句的重复替代:Branch3.1.2语法图中的块块是基本元素。下图显示了代表块而使用的符号类型。 要更多解释的基本元素 由更多的语法图解释的复合单元当输入源文本时需要注意格式化规则和非格式化规则。比如:把语法图中的块或元素转化为源文本(见帮助中的语言描述,第291页)规则的意义(语义)规则能仅代表语言的格式结构。意义(语义)一般不明显。由于这个原因,如果意义很关键,则需要在规则旁边写上额外的信息。如果同类型的元素意义不同,需要附上额外的命名。例如,额外指定每个十进制字符串元素年,月
11、或日(见308页)。名称表示了用途 重要的限制也列出。如:整数规则中对于(负号),标明负号只能在SINT, INT, and DINT数据类型之前出现(见308页)3.2基本元素的语言ST语言的基本元素包括ST字符组, 根据ST字符组(如:语言命令)创建的预留标识符,自定义的标识符和数字。ST字符组合预留标识符都是基本的元素(terminals),因为是无需另外的规则来描述。自定义的标识符和数字不是terminals,因为它们是由另外的规则来描述。在语法图中,终端是由圆形或者椭圆形符号来表示,但是复合单元由长方形来表示(见语法图中的块,第72页)。下列内容是主要终端的节选,作为全局预览,参考基
12、本元素(terminals,第294页)3.2.1 ST字符组ST使用ASCII字符组中的下列字母和数字从A到Z的大小字母从0到9的阿拉伯数字字母和数字是最常用的字符。例如,标识符是字母,数字和下划线的组合。下划线是特殊的字符之一。特殊字符在ST中有特定的含义(见第291页的正式语言描述和第294页的基本元素) ST中的标识符标识符的ST中的名称。这些名称可以根据系统来定义,例如语言命令等。但是,名称可以是用户定义,比如常量、变量或功能。标识符的规则标识符是由字母(A到Z,a到z)、数字(0到9)或单独的下划线随意组成,但是首字符必须是字母或者下划线。大小写字母没有区分(比如,在编辑器中Ann
13、a和AnNa是一样的)。一个正式的标识符可以由以下的语法图表示:命名时,最好选用唯一的、有意义的命名,以便解释程序。图表中的语法图声明了一个标识符的首字符必须是字母或者下划线。下划线必须跟着字母或数字。如:不允许连续有两根或以上的下划线。下划线可以跟着任意或者一系列的数字,下划线或字母。在这唯一的例外是两条下划线可能不会同时出现。标识符举例有效的标识符无效的标识符无效标识符原因4ter第一次字符必须为一个字母或者下划线*#AB不允许特殊字符(除了下划线)RR_20不允许有两个下划线S value不允许出现空格,因为是特殊字符Array虽然ARRAY是一个正式有效的标识符,但是它是一个预留标识符。,只能做预先定义使用。这意味着你不能使用这个名称,比如:变量标识符不能用作绝不定义标识符:与预留标识符一样与任务命名相匹配注意:如有可能,避免定义由下划线,struct,enum,或者command开始的标识符虽然这些是有效的标识符,当你下载技术包时可能导致出现错误。在基础系统和在技术包中命令词语,参数或数据类型以这些字符开始。预留标识符预留标识符可能和预先定义的用途不一样。你不能用预留标识符的名称来命名一个变量或者数据类型。符