在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例C/C++语言基础 → 西门子ST编程语言

西门子ST编程语言

C/C++语言基础

下载此实例
  • 开发语言:C/C++
  • 实例大小:4.49M
  • 下载次数:24
  • 浏览次数:96
  • 发布时间:2023-04-02
  • 实例类别:C/C++语言基础
  • 发 布 人:FrancisZhang
  • 文件格式:.docx
  • 所需积分:2
 相关标签: 编程语言 西门子 ST 编程 语言

实例介绍

【实例简介】西门子ST编程语言

【实例截图】

from clipboard

from clipboard

from clipboard

from clipboard

from clipboard

from clipboard

【核心代码】

目录

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.3FCFB的声明部分  PAGEREF _Toc362160842 \h 73

4.1.4FBFC部分的语句  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.9FB外访问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.SIMOTIONST的集成  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.2ST源文件之间的导入和导出  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.2SIMOTION中的变量  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.3watch表中监视变量  PAGEREF _Toc362160949 \h 164

6.2.3.1watch表中的变量  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

6.2.6.14断点调用栈参数  PAGEREF _Toc362160975 \h 184

6.2.7追溯  PAGEREF _Toc362160976 \h 184

实例下载地址

西门子ST编程语言

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警