产地类别 | 进口 |
---|
“西门子创始人维尔纳·冯·西门子(Werner von Siemens)早在一百多年前将其称之为‘*精神’;今天,我们在中国把它诠释为‘博大精深,同心致远’。" 西门子大中华区*执行官赫尔曼(Lothar Herrmann)表示,“西门子新的品牌宣言与西门子勇担责任、矢志创新、追求的企业价值理念一脉相承,将帮助我们在中国树立鲜明的企业形象并彰显西门子
![]() |
参考价 | ¥88 |
订货量 | 1 |
更新时间:2018-12-18 16:31:52浏览次数:374
联系我们时请说明是化工仪器网上看到的信息,谢谢!
6ES7 952-0AF00-0AA0
SIMATIC S7-SCL FOR S7-300/400
有效使用S7-SCL。首先,你或许会有一些问题,如:
我怎样用SCL来设计程序?
哪些S7-SCL语言功能适合执行任务?
有什么调试功能可用?
本部分中将回答这些及其他问题。
用到的S7-SCL语言元素(S7-SCL language Elements Used)
例子程序采用了下列S7-SCL语言功能:
各种S7-SCL块类型的结构和应用
带参数传递的块调用和赋值
各种输入和输出格式
用基本数据类型的数组编程
初始化变量
程序结构,分支及循环的使用
硬件要求(Required Hardware)
能够在SIMATIC S7-300或SIMATIC S7-400运行例子程序,需要以下外部设备:
一个16点的输入模块
一个16点的输出模块
调试功能(Debugging Functions)
程序已经创建,用输入模块上的开关和显示在输出模块上,能够迅速测试此程序。要运行全
面的测试,使用S7-SCL的调试功能。
也能够使用STEP 7标准包提供的其他系统函数。
任务
Task
概述(Overview)
通过输入模块获取测量值,然后通过S7-SCL存贮和处理测量值。结果将显示在输出模块上。
获取测量值(Acquire Measured Values)
测量值用8个输入开关设置,当检测到输入开关的边沿时,然后将测量值读入内存中的测量值
数组(见下图)。
测量值的范围是0到255,为此需要1个字节。
处理测量值(Processing Measured Values)
测量值数组组织成一个最多8个输入项目的环形缓冲区。当检测到排序开关的信号,测量值数
组中存贮的值则按增序进行排列。其后,计算每个数的均方根和平方值。为此需要1个字。
选择性输出(Selectable Outputs)
只能显示一个值在输出模块上,要进行如下选择:
从列表中元素的选择
测量值、均方根和平方值的选择
按如下选择显示的值如下:
3个开关用来设置代码,检测到第4个开关——取码开关的信号,则记录下代码。从此,被计算的地址用
来存取输出。
同一个地址标识三个值:测量值、及其均方根和平方值。要选择这三个值中的一个,要求2个选择器开
关。
结构化S7-SCL程序的设计
Design of a Structured S7-SCL Program
块的种类(Block Types)
采用结构化S7-SCL程序是前面定义的任务的解决方案。换言之,意思是采用模块化设
计,程序分成几个块,每块对应特定的子任务。在SCL中,与在STEP 7中的其他语言一样,有
下列块类型可用。
在S7-SCL源文件中块的约定(Arrangement of Blocks in S7-SCL Source Files)
一个S7-SCL程序包含一个或几个S7-SCL源文件。一个源文件能够包含单个块或一个有几个块
的完整程序。
定义子任务
Defining the Subtasks
子任务(Subtasks)
下图显示了子任务,方形区域表示块。逻辑块从左到右排列,也是他们被调用的次序。
选择和要用的块类型(Selecting and Assigning the Available Block Types)
根据下列准则选择各个块:
定义块间接口
Defining the Interfaces Between Blocks
概述(Overview)
功能
Function
块名称
Block Name
用户程序只能在一个OB启动。因测量值将被不断地获取,要求有一个循环调用的组织块(OB1)。
程序部分——数据输入和数据输出在此OB中编程。 "Cycle" OB
子任务“获取测量数据”要求一个带内存的块,即功能块,因为某些本地块数据(如环形缓冲区)必须从一个程序循环保留至下一个程序循环。排序数据(内存)的定位在实例数据块ACQUIRE_DATA中。同样的FB也能够管理地址和选择输出子任务,因数据是在此用。 "Acquire" FB
当为子任务排序测量数据和计算结果选择块类型时,记住须要一个包含每个测量值的计算结果“均方根”和“平方值”的输出缓冲区。只有FB是合适的块类型。因为在调用层次中,此FB被上层的FB调用,它不需要拥有自己的DB。其实例数据能够存贮在调用它的FB的实例数据块中。"Evaluate" FB
函数最适合子任务计算均方根和平方值,因结果能够作为函数值返回,而且无可用数据在一个程序循环后再需要保留。标准的S7-SCL函数SORT能够用来计算均方根。建立特殊函数SQUARE来计算均方根,同时检查其值是否在允许的范围内。"SQRT" FC(square root)and"Square" FC
定义块间接口
Defining the Interfaces Between Blocks
概述(Overview)
块的接口由能够为其他块存取的参数组成。
声明的参数是一个占位符,当块被实际地使用(被调用)时,则有一个值。占位符当作形式参
数,当块被调用时的值作为实际参数。当一个块被调用,输入数据作为实际参数传递给
它。程序返回到凋用块后,输出数据可用作更多的处理。函数能够传递其结果作为函数值。
块参数能够分为以下几类:
Cycle OB
CYCLE OB没有自己的形式参数。它调用功能块ACQUIRE,并传递测量值和控制数据到其形式参
数。
"获取"功能块(Acquire FB)
求值(Evaluate)
功能块ACQUIRE调用功能块EVALUATE。他们共享的是要求排序的测量值数组。而且数组声明成
输入/输出参数。为计算结果均方根和平方值建立了一个结构化的数组作为输出参数。下表显
示了形式参数:
SQRT and Square
这些函数被EVALUATE调用。他们需要一个输入值(自变量),并作为函数值返回其结果。
块参数 描述 声明
输入参数 当块被调用时,输入参数接受实 VAR_INPUT
Input parameters 际的输入值。他们是只读的。
输出参数 输出参数传送当前输出值到产生 VAR_OUTPUT
Output parameters 调用的块。能够写入或读出数据。
输入/输出参数 输入/输出参数在块被调用时接受 VAR_IN_OUT
In/out parameters 变量的实际值,且将结果返回给
原来的变量。
Cycle OB
CYCLE OB没有自己的形式参数。它调用功能块ACQUIRE,并传递测量值和控制数据到其形式参
数。
"获取"功能块(Acquire FB)
参数名 数据类型 声明形式 描述
measval_in INT VAR_INPUT 测量值
newval BOOL VAR_INPUT 输入测量值到环形缓冲区的开
关
resort BOOL VAR_INPUT 排序和求测量数据(均方根和平
方)值的开关
funct_sel BOOL VAR_INPUT 均方根或平方值的选择器开关
selection WORD VAR_INPUT 选择输出值的代码
newsel BOOL VAR_INPUT 读入代码的开关
result_out DWORD VAR_OUTPUT 计算结果的输出
measval_out DWORD VAR_OUTPUT 测量值的输出
求值(Evaluate)
功能块ACQUIRE调用功能块EVALUATE。他们共享的是要求排序的测量值数组。而且数组声明成输入/输出参数。为计算结果均方根和平方值建立了一个结构化的数组作为输出参数。下表显示了形式参数:
名称 数据类型 声明形式 描述
sortbuffer ARRAY[..]OF REAL VAR_IN_OUT 测量值数组,对应环形缓冲区
calcbuffer ARRAY[..]OF STRUCT VAR_OUTPUT 结果数组:带INT类型组件“square
root”和“square”的结构
SQRT and Square
这些函数被EVALUATE调用。他们需要一个输入值(自变量),并作为函数值返回其结果
名称 数据类型 声明形式 描述
value REAL VAR_INPUT SQRT的输入
SQRT REAL Functionvalue 输入值的均方根
value INT VAR_INPUT SQUARE的输入
SQUARE INT Functionvalue 输入值的平方值
定义输入/输出接口
Defining the Input/Output Interface
下图显示了输入/输出接口。记住当输入/输出是用的字节,低位字节在上方而高低字节在下
方。另一方面,如果输入/输出用字,则正好相反。
定义源文件中块的顺序
Defining the Order of the Blocks in the Source File
在排列S7-SCL源文件中块的顺序时,记住在使用前,就是说在被其他块调用前,块必须已经
存在。意味着在S7-SCL源文件中必须按下图排列各块:
定义符号
Defining Symbols
对模块地址使用符号名和块使得编程容易进行。在能够使用这些符号前,必须在符号表中键入他们。
下图显示例子程序的符号表。它描述了在符号表中声明的符号名,这样能够无错误地编译源文件:
SQUARE函数的语句部分
Statement Section of the SQUARE Function
语句部分(Statement Section)
程序首先检查输入值是否超出其结果将溢出数字范围的限制。若此,用整数的最大值代之,
否则计算平方值。结果作为函数值传递。
FUNCTION SQUARE : INT
西门子PLC S7-300AI/AO模块接线方式
一、概述
西门子PLC S7-300系列用途广泛,常用在工业自动化领域的大中型控制系统的解决方案中。在实际的使用过程中,常需要通过模拟量模块对设备及各种变送器进行操作,这就需要使用模拟量模块。如果系统中需要控制的模拟量输入和输出较少,可以使用点数较少的模拟量输入输出模块。本文下面为您介绍一下西门子PLC S7-300系列的AI/AO模块的接线方式,供用户在现场工程项目的使用过程中进行参照。
二、西门子PLC S7-300AI/AO模块接线方式
在自动化控制系统中,对于点数较少的模拟量控制,可以使用4路模拟量输入,2路模拟量输出的模块。西门子PLC S7-300系列4路输入2路输出的模拟量模块有6ES7 334-0CE01-0AA0这个型号,本文下面以这个型号为例,说明它的接线方式:
1. 4路模拟量输入信号
由于6ES7 334-0CE01-0AA0这个模块并没有为用户提供模拟量电流和电压的设置,因此需要根据需要将电缆接到相应的位置上。
例如:
如果用户要求第1路模拟量输入信号为0-10V电压信号,需要将导线接到引脚2,3之间来完成;
如果用户要求第1路模拟量输入信号为0-20mA电流信号,需要将导线接到引脚3,4之间来完成;
注意,0-10V和0-20mA均为固定值,用户不可以调整范围。
2. 2路模拟量输出信号
接法与模拟量输入信号原理相同,例如:
如果用户第1路模拟量输出信号为0-10V电压信号,需将导线接到引脚14,15之间来完成;
如果用户第1路模拟量输出信号为4-20mA电流信号,需将导线接到引脚15,16之间来完成;
三、总结
综上所述,西门子PLC S7-300的模拟量输入输出模块在控制系统中较为常用,尤其是点数较少的控制系统中,经常会使用到这种模拟量输入输出模块,用户在使用过程中需要注意模块的硬件连接和软件组态配置,程序逻辑编写等方面。本文为您介绍了它的接线方法,供用户参考。如果用户需要更多的了解和使用西门子PLC系列,我们也会更好的提供相关技术支持。
6ES7 952-0AF00-0AA0