实例介绍
【实例截图】
【核心代码】
目录
3. ST基本原理 PAGEREF _Toc362160758 \h 7
3.1语言描述 PAGEREF _Toc362160759 \h 7
3.1.1语法图 PAGEREF _Toc362160760 \h 7
3.1.2语法图中的块 PAGEREF _Toc362160761 \h 7
3.1.3规则的意义(语义) PAGEREF _Toc362160762 \h 8
3.2基本元素的语言 PAGEREF _Toc362160763 \h 8
3.2.1 ST字符组 PAGEREF _Toc362160764 \h 8
3.2.2 ST中的标识符 PAGEREF _Toc362160765 \h 9
3.2.2.1标识符的规则 PAGEREF _Toc362160766 \h 9
3.2.2.2标识符举例 PAGEREF _Toc362160767 \h 10
3.2.3预留标识符 PAGEREF _Toc362160768 \h 10
3.2.3.1保护标识符 PAGEREF _Toc362160769 \h 11
3.2.4数字和布尔值 PAGEREF _Toc362160770 \h 17
3.2.4.1整数 PAGEREF _Toc362160771 \h 17
3.2.4.2浮点数 PAGEREF _Toc362160772 \h 18
3.2.4.3指数 PAGEREF _Toc362160773 \h 18
3.2.4.4布尔值 PAGEREF _Toc362160774 \h 18
3.2.4.5数字的数据类型 PAGEREF _Toc362160775 \h 19
3.2.5字符串 PAGEREF _Toc362160776 \h 19
3.3 ST源文件的结构 PAGEREF _Toc362160777 \h 20
3.3.1语句 PAGEREF _Toc362160778 \h 21
3.3.2注释 PAGEREF _Toc362160779 \h 22
3.4数据类型 PAGEREF _Toc362160780 \h 23
3.4.1基本数据类型 PAGEREF _Toc362160781 \h 23
3.4.1.1基本数据类型 PAGEREF _Toc362160782 \h 23
3.4.1.2基础数据类型的值的范围限制 PAGEREF _Toc362160783 \h 25
3.4.1.3普通的数据类型 PAGEREF _Toc362160784 \h 26
3.4.1.4基础系统数据类型 PAGEREF _Toc362160785 \h 27
3.4.2用户定义的数据类型 PAGEREF _Toc362160786 \h 27
3.4.2.1用户定义的数据类型 PAGEREF _Toc362160787 \h 27
3.4.2.2用户定义的数据类型的语法(类型声明) PAGEREF _Toc362160788 \h 28
3.4.2.3基础派生或派生的数据类型 PAGEREF _Toc362160789 \h 29
3.4.2.4 派生数据类型ARRAY PAGEREF _Toc362160790 \h 30
3.4.2.5 派生的数据类型—枚举 PAGEREF _Toc362160791 \h 31
3.4.2.6派生的数据类型STRUCT(结构) PAGEREF _Toc362160792 \h 32
3.4.3技术目标数据类型 PAGEREF _Toc362160793 \h 34
3.4.3.1技术目标数据类型的描述 PAGEREF _Toc362160794 \h 34
3.4.3.2轴属性的继承 PAGEREF _Toc362160795 \h 35
3.4.3.3技术目标数据类型的例子 PAGEREF _Toc362160796 \h 36
3.4.4系统数据类型 PAGEREF _Toc362160797 \h 37
3.5变量声明 PAGEREF _Toc362160798 \h 37
3.5.1变量声明的语法 PAGEREF _Toc362160799 \h 37
3.5.2所有变量声明的概述 PAGEREF _Toc362160800 \h 39
3.5.3变量或数据类型的初始值 PAGEREF _Toc362160801 \h 40
3.6赋值和表达式 PAGEREF _Toc362160802 \h 43
3.6.1赋值 PAGEREF _Toc362160803 \h 44
3.6.1.1赋值的语法图 PAGEREF _Toc362160804 \h 44
3.6.1.2基础数据类型的变量的数值指定 PAGEREF _Toc362160805 \h 45
3.6.1.3串基础数据类型的变量数值指定 PAGEREF _Toc362160806 \h 45
3.6.1.4位数据类型的变量的数值指定 PAGEREF _Toc362160807 \h 46
3.6.1.5派生的枚举数据类型的变量的数值指定 PAGEREF _Toc362160808 \h 48
3.6.1.6派生的阵列数据类型的变量的数值指定 PAGEREF _Toc362160809 \h 48
3.6.1.7派生的STRUCT数据类型的变量数值指定 PAGEREF _Toc362160810 \h 48
3.6.2表达式 PAGEREF _Toc362160811 \h 49
3.6.2.1表达式结果 PAGEREF _Toc362160812 \h 49
3.6.2.2表达式的解释顺序 PAGEREF _Toc362160813 \h 50
3.6.3运算对象 PAGEREF _Toc362160814 \h 50
3.6.4算术表达式 PAGEREF _Toc362160815 \h 51
3.6.4.1算术表达式的例子 PAGEREF _Toc362160816 \h 54
3.6.5关系表达式 PAGEREF _Toc362160817 \h 54
3.6.6逻辑表达式和位串行表达式 PAGEREF _Toc362160818 \h 56
3.6.7运算符的优先级 PAGEREF _Toc362160819 \h 57
3.7控制语句 PAGEREF _Toc362160820 \h 58
3.7.1 IF语句 PAGEREF _Toc362160821 \h 58
3.7.2 CASE语句 PAGEREF _Toc362160822 \h 60
3.7.3 FOR语句 PAGEREF _Toc362160823 \h 61
3.7.3.1处理FOR语句 PAGEREF _Toc362160824 \h 62
3.7.3.2 FOR语句规则 PAGEREF _Toc362160825 \h 62
3.7.3.3FOR语句例子 PAGEREF _Toc362160826 \h 63
3.7.4WHILE语句 PAGEREF _Toc362160827 \h 63
3.7.5REPEAT语句 PAGEREF _Toc362160828 \h 64
3.7.6EXIT语句 PAGEREF _Toc362160829 \h 64
3.7.7RETURN语句 PAGEREF _Toc362160830 \h 65
3.7.8WAIFORCONDITION语句 PAGEREF _Toc362160831 \h 65
3.7.9GOTO语句 PAGEREF _Toc362160832 \h 67
3.8数据类型转换 PAGEREF _Toc362160833 \h 67
3.8.1基础数据类型转换 PAGEREF _Toc362160834 \h 67
3.8.1.1隐式数据类型转换 PAGEREF _Toc362160835 \h 68
3.8.1.2显式数据类型转换 PAGEREF _Toc362160836 \h 70
3.8.2补充的转换 PAGEREF _Toc362160837 \h 71
4.功能,功能块和程序 PAGEREF _Toc362160838 \h 71
4.1创建和调用功能和功能块 PAGEREF _Toc362160839 \h 72
4.1.1定义功能 PAGEREF _Toc362160840 \h 72
4.1.2定义功能块 PAGEREF _Toc362160841 \h 73
4.1.3FC和FB的声明部分 PAGEREF _Toc362160842 \h 73
4.1.4FB和FC部分的语句 PAGEREF _Toc362160843 \h 75
4.1.5功能和功能块的调用 PAGEREF _Toc362160844 \h 76
4.1.5.1参数转移的原则 PAGEREF _Toc362160845 \h 76
4.1.5.2转移给输入参数的参数 PAGEREF _Toc362160846 \h 77
4.1.5.3参数转移给in/out参数 PAGEREF _Toc362160847 \h 78
4.1.5.4参数转移到输出参数(仅对FB) PAGEREF _Toc362160848 \h 79
4.1.5.5参数访问时间 PAGEREF _Toc362160849 \h 79
4.1.5.6调用一个功能 PAGEREF _Toc362160850 \h 79
4.1.5.7调用功能块(实例调用) PAGEREF _Toc362160851 \h 80
4.1.5.8 在FB外访问FB输出参数 PAGEREF _Toc362160852 \h 81
4.1.5.9在FB外访问FB输入参数 PAGEREF _Toc362160853 \h 82
4.1.5.10FB调用时的错误源 PAGEREF _Toc362160854 \h 82
4.2功能和功能块的比较 PAGEREF _Toc362160855 \h 83
4.2.1例子说明 PAGEREF _Toc362160856 \h 83
4.2.2带注释的源文件 PAGEREF _Toc362160857 \h 84
4.3程序 PAGEREF _Toc362160858 \h 85
4.4表达式 PAGEREF _Toc362160859 \h 87
5.在SIMOTION中ST的集成 PAGEREF _Toc362160860 \h 89
5.1源文件部分的使用 PAGEREF _Toc362160861 \h 89
5.1.1源文件部分的使用 PAGEREF _Toc362160862 \h 89
5.1.1.1interface部分 PAGEREF _Toc362160863 \h 89
5.1.1.2implementation部分 PAGEREF _Toc362160864 \h 91
5.1.1.3程序组织单元(POU) PAGEREF _Toc362160865 \h 91
5.1.1.4功能(FC) PAGEREF _Toc362160866 \h 92
5.1.1.5功能块(FB) PAGEREF _Toc362160867 \h 92
5.1.1.6程序 PAGEREF _Toc362160868 \h 93
5.1.1.7表达式 PAGEREF _Toc362160869 \h 94
5.1.1.8声明部分 PAGEREF _Toc362160870 \h 94
5.1.1.9语句部分 PAGEREF _Toc362160871 \h 95
5.1.1.10数据类型定义 PAGEREF _Toc362160872 \h 95
5.1.1.11变量声明 PAGEREF _Toc362160873 \h 96
5.1.2在ST源文件之间的导入和导出 PAGEREF _Toc362160874 \h 98
5.1.2.1单元标识符 PAGEREF _Toc362160875 \h 98
5.1.2.2一个导出单元的interface部分 PAGEREF _Toc362160876 \h 99
5.1.2.3一个导出单元的例子 PAGEREF _Toc362160877 \h 99
5.1.2.4在一个导入单元的USES语句 PAGEREF _Toc362160878 \h 100
5.1.2.5一个导入单元的例子 PAGEREF _Toc362160879 \h 101
5.2在SIMOTION中的变量 PAGEREF _Toc362160880 \h 102
5.2.1变量模型 PAGEREF _Toc362160881 \h 102
5.2.1.1单元变量 PAGEREF _Toc362160882 \h 104
5.2.1.2不保留的单元变量 PAGEREF _Toc362160883 \h 105
5.2.1.3保持单元变量 PAGEREF _Toc362160884 \h 106
5.2.1.4本地变量(静态和临时变量) PAGEREF _Toc362160885 \h 107
5.2.1.5静态变量 PAGEREF _Toc362160886 \h 109
5.2.1.6临时变量 PAGEREF _Toc362160887 \h 110
5.2.2全局设备变量的使用 PAGEREF _Toc362160888 \h 111
5.2.3变量类型的存储范围 PAGEREF _Toc362160889 \h 112
5.2.3.1存储区域的例子,有效关于KernelV3.1 PAGEREF _Toc362160890 \h 113
5.2.3.2本地数据栈变量的存储要求(kernel V3.1或更高) PAGEREF _Toc362160891 \h 116
5.2.4变量初始化的时间 PAGEREF _Toc362160892 \h 118
5.2.4.1保留全局变量的初始化 PAGEREF _Toc362160893 \h 118
5.2.4.2不保留的全局变量的初始化 PAGEREF _Toc362160894 \h 119
5.2.4.3本地变量的初始化 PAGEREF _Toc362160895 \h 120
5.2.4.4静态编程变量的初始化 PAGEREF _Toc362160896 \h 121
5.2.4.5功能块实例的初始化 PAGEREF _Toc362160897 \h 122
5.2.4.6技术目标的系统变量的初始化 PAGEREF _Toc362160898 \h 122
5.2.4.7全局变量的版本ID和下载时的初始化 PAGEREF _Toc362160899 \h 123
5.2.5变量和HMI设备 PAGEREF _Toc362160900 \h 124
5.3访问输入和输出(过程图像,I/O变量) PAGEREF _Toc362160901 \h 126
5.3.1访问输入和输出的概述 PAGEREF _Toc362160902 \h 126
5.3.2直接访问和过程图像访问的重要特征 PAGEREF _Toc362160903 \h 127
5.3.3直接访问和循环任务的过程图像 PAGEREF _Toc362160904 \h 128
5.3.3.1 直接访问和循环任务的过程图像的I/O地址的规则 PAGEREF _Toc362160905 \h 129
5.3.3.2为直接访问和循环任务的过程图像创建一个I/O变量 PAGEREF _Toc362160906 \h 130
5.3.3.3输入I/O地址的语法图 PAGEREF _Toc362160907 \h 131
5.3.3.4可能的I/O变量的数据类型 PAGEREF _Toc362160908 \h 132
5.3.4背景任务的固定过程图像的访问 PAGEREF _Toc362160909 \h 132
5.3.4.1背景任务的固定过程图像的绝对访问(绝对PI访问) PAGEREF _Toc362160910 \h 133
5.3.4.2一个绝对过程图像访问的标识符语法 PAGEREF _Toc362160911 \h 134
5.3.4.3背景任务的固定过程图像的符号访问(符号PI访问) PAGEREF _Toc362160912 \h 135
5.3.4.4可能的符号PI访问的数据类型 PAGEREF _Toc362160913 \h 136
5.3.4.5符号PI访问的例子 PAGEREF _Toc362160914 \h 136
5.3.4.6为访问背景任务固定过程图像而创建一个I/O变量 PAGEREF _Toc362160915 \h 136
5.3.5访问I/O变量 PAGEREF _Toc362160916 \h 137
5.4使用库 PAGEREF _Toc362160917 \h 137
5.4.1编辑一个库 PAGEREF _Toc362160918 \h 138
5.4.2库的know-how保护 PAGEREF _Toc362160919 \h 139
5.4.3从库中使用数据类型,功能和功能块 PAGEREF _Toc362160920 \h 140
5.5相同的标识符和命名空间的使用 PAGEREF _Toc362160921 \h 141
5.5.1相同的标识符的使用 PAGEREF _Toc362160922 \h 141
5.5.2命名空间 PAGEREF _Toc362160923 \h 143
5.6参考数据 PAGEREF _Toc362160924 \h 146
5.6.1交叉对照表 PAGEREF _Toc362160925 \h 147
5.6.1.1创建一个交叉对照表单 PAGEREF _Toc362160926 \h 147
5.6.1.2交叉对照表的内容 PAGEREF _Toc362160927 \h 147
5.6.1.3交叉对照表的使用 PAGEREF _Toc362160928 \h 148
5.6.2程序结构 PAGEREF _Toc362160929 \h 148
5.6.2.1程序结构的内容 PAGEREF _Toc362160930 \h 149
5.6.3代码属性 PAGEREF _Toc362160931 \h 149
5.6.3.1代码属性内容 PAGEREF _Toc362160932 \h 150
5.7控制预处理器和pragma编辑 PAGEREF _Toc362160933 \h 150
5.7.1控制一个预处理器 PAGEREF _Toc362160934 \h 150
5.7.1.1预处理器语句 PAGEREF _Toc362160935 \h 151
5.7.1.2预处理器语句的例子 PAGEREF _Toc362160936 \h 154
5.7.2属性控制编辑器 PAGEREF _Toc362160937 \h 155
5.8跳转语句和标签 PAGEREF _Toc362160938 \h 157
6.错误源和程序调试 PAGEREF _Toc362160939 \h 158
6.1避免错误和有效编程的注释 PAGEREF _Toc362160940 \h 158
6.2程序调试 PAGEREF _Toc362160941 \h 158
6.2.1程序测试的模式 PAGEREF _Toc362160942 \h 158
6.2.1.1SIMOTION设备模式 PAGEREF _Toc362160943 \h 158
6.2.1.2life-sign监视的重要信息 PAGEREF _Toc362160944 \h 160
6.2.1.3life-sign监视参数 PAGEREF _Toc362160945 \h 161
6.2.2符号浏览器 PAGEREF _Toc362160946 \h 162
6.2.2.1符号浏览器的属性 PAGEREF _Toc362160947 \h 162
6.2.2.2使用符号浏览器 PAGEREF _Toc362160948 \h 162
6.2.3在watch表中监视变量 PAGEREF _Toc362160949 \h 164
6.2.3.1在watch表中的变量 PAGEREF _Toc362160950 \h 164
6.2.3.2使用watch表格 PAGEREF _Toc362160951 \h 165
6.2.4程序运行 PAGEREF _Toc362160952 \h 165
6.2.4.1程序运行:显示代码位置和调用路径 PAGEREF _Toc362160953 \h 165
6.2.4.2参数调用栈程序运行 PAGEREF _Toc362160954 \h 166
6.2.4.3程序运行工具栏 PAGEREF _Toc362160955 \h 166
6.2.5程序状态 PAGEREF _Toc362160956 \h 166
6.2.5.1程序状态的属性 PAGEREF _Toc362160957 \h 167
6.2.5.2使用状态程序 PAGEREF _Toc362160958 \h 168
6.2.5.3程序状态的调用路径 PAGEREF _Toc362160959 \h 170
6.2.5.4参数调用路径状态程序 PAGEREF _Toc362160960 \h 171
6.2.6断点 PAGEREF _Toc362160961 \h 171
6.2.6.1设置断点的普通步骤 PAGEREF _Toc362160962 \h 171
6.2.6.2设置debug模式 PAGEREF _Toc362160963 \h 172
6.2.6.3定义debug任务组 PAGEREF _Toc362160964 \h 172
6.2.6.4debug任务组参数 PAGEREF _Toc362160965 \h 174
6.2.6.5debug表格参数 PAGEREF _Toc362160966 \h 174
6.2.6.6设置断点 PAGEREF _Toc362160967 \h 175
6.2.6.7断点工具栏 PAGEREF _Toc362160968 \h 176
6.2.6.8定义一个单独断点的调用路径 PAGEREF _Toc362160969 \h 177
6.2.6.9断点调用路径/任务选择参数 PAGEREF _Toc362160970 \h 178
6.2.6.10定义所有断点的调用路径 PAGEREF _Toc362160971 \h 179
6.2.6.11每个POU所有断点的调用路径/任务选择参数 PAGEREF _Toc362160972 \h 180
6.2.6.12激活断点 PAGEREF _Toc362160973 \h 181
6.2.6.13显示调用栈 PAGEREF _Toc362160974 \h 183
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论