Siemens/西门子 品牌
经销商厂商性质
上海市所在地
廊坊西门子代理商
西门子S7-300系列PLC模拟量输出的处理方法
SCALE能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。将结果写入OUT。SCALE能使用以下等式:
OUT=[ ((FLOAT (IN) -K1)/(K2-1)) * (HI_LIM-O_LIM)] + LO_LIM
常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。
BIPOLAR:假定输入整型值介于 7648与27648之间,因此K1=-7648.0,K2=+27648.0
UNIPOLAR:假定输入整型值介于0和27648之间,因此K1=0.0,K2=+27648.0
如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。
通过设置LO_LIM 》 HI_LIM可获得反向标定。使用反向转换时,输出值将随输入值的增加而减小。
FC105参数
参数 说明 数据类型 存储区 描述
EN 输入 BOOL I、Q、M、D、L 使能输入端,信号状态为1时激活该功能。
ENO 输出 BOOL I、Q、M、D、L 如果该功能的执行无错误,该使能输出端信号状态为1。
IN 输入 INT I、Q、M、D、L、P、常数 欲转换为以工程单位表示的实型值的输入值。
HI_LIM 输入 REAL I、Q、M、D、L、P、常数 以工程单位表示的上限值。
LO_LIM 输入 REAL I、Q、M、D、L、P、常数 以工程单位表示的下限值。
BIPOLAR 输入 BOOL I、Q、M、D、L 信号状态为1表示输入值为双极性。信号状态0表示输入值为单极性。
OUT 输出 REAL I、Q、M、D、L、P 转换的结果。
RET_VAL 输出 WORD I、Q、M、D、L、P 如果该指令的执行没有错误,将返回值W#16#0000。对于W#16#0000以外的其它值,参见“错误信息”。
错误信息
如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。ENO的信号状态将设置为0,RET_VAL等于W#16#0008。
2、FC106
UNSCALE功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。将结果写入OUT。
UNSCALE功能使用以下等式:
OUT=[ ((IN-O_LIM)/(HI_LIM-O_LIM)) * (K2-1) ] + K1
,并根据输入值是BIPOLAR还是UNIPOLAR设置常数K1和K2。
BIPOLAR:假定输出整型值介于 ?7648和27648之间,因此,K1=-7648.0,K2=+27648.0
UNIPOLAR:假定输出整型值介于0和27648之间,因此,K1=0.0,K2=+27648.0
如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的范围的下限或上限较近的一方,并返回一个错误。
FC106参数
参数 说明 数据类型 存储区 描述
EN 输入 BOOL I、Q、M、D、L 使能输入端,信号状态为1时激活该功能。
ENO 输出 BOOL I、Q、M、D、L 如果该功能的执行无错误,该使能输出端信号状态为1。
IN 输入 REAL I、Q、M、D、L、P、常数 欲转换为整型值的输入值。
HI_LIM 输入 REAL I、Q、M、D、L、P、常数 以工程单位表示的上限。
LO_LIM 输入 REAL I、Q、M、D、L、P、常数 以工程单位表示的下限。
BIPOLAR 输入 BOOL I、Q、M、D、L 信号状态1表示输入值为双极。信号状态0表示输入值为单极。
OUT 输出 INT I、Q、M、D、L、P 转换结果。
RET_VAL 输出 WORD I、Q、M、D、L、P 如果该指令的执行没有错误,将返回值W#16#0000。对于W#16#0000以外的其它值,参见“错误信息”。
错误信息
如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的范围的下限或上限较近的一方,并返回一个错误。
ENO的信号状态将设置为0,RET_VAL等于W#16#0008。
问:那个模拟量模块在硬件组态中,选择测量的时候,有E、 4DMU,2DMU这3个我明白怎么用,还有R-4L,RT,TC-I,TC-E,TC-IL,TC-EL,这几个什么意思啊?怎么用啊?后面的英语我也知道每个词的意思,但就是不知道描述的什么意思?谢谢各位答侠了
问题补充:还有模拟量输出模块的地址怎么分的呀,比如AO4x12Bit,这个模块的地址从512--519,那几点属于512,那几个点属于513,那几个是接电源的,谢谢
答:E 电压
4DMU 电流4线传感器
2DMU 电流2线传感器
R-4L 电阻4导线端子
RT 电阻(热敏、线性)
TC-I 热电偶 (内部补偿)
TC-E 热电偶 (外部补偿)
TC-IL 热电偶 (内部补偿线性)
TC-EL 热电偶 (外部补偿线性)
端子 1 接L+ 24V+
20 接M 0V
34接一起 + 对应 PQW 512 2线制 对线路电阻无补偿
56接一起 —
34接到现场 接到一起 对应 + 对应 PQW512 对线路电阻有补偿
45接到现场 接到一起 对应 -
其他的类推
7 8 9 10 对应PQW514
11 12 13 14 对应PQW516
15 16 17 18 对应PQW518
一、基本数据类型
基本数据类型的长度不超过32位。
位(BOOL),字节(BYTE),字(WORD),双字(DOUBLE WORD),整数(INT),
双整数(DOUBLE INT),浮点数(REAL),S5TIME(SIMATIC时间),IEC时间(TIME),IEC日期(date),日计时(TIME_OF_DAY),字符(CHAR),
重点: S5TIME和IEC时间数据类型结构,二者区别
二、复杂数据类型
复杂数据类型是由其他基本数据类型组合而成的,长度超过32位的数据类型。
1.日期时间数据类型( Data_And_Time ):
2.字符串类型(String):
3.数组类型Array
4.结构(STRUCT):
5.用户定义类型(UDT):
三、参数数据类型
用于功能FC或功能块FB的数据类型
1. Pointe指针类型,6字节指针类型,传递数据块号和数据地址
2. Any指针类型,10字节指针类型,传递数据块号、数据地址、数据数量以及数据类型
1、西门子PLC的输出模块中有继电器输出,可控硅输出,晶体管输出,这三种输出的区别简单说的话,就是这样的形式:
直流=晶体管;交流=可控硅;交直流=继电器 ;
晶体管输出速度快,带直流负载
继电器输出开关频率比晶体管低,可以带交流负载或直流负载
晶闸管输出只能带交流负载,响应速度在前两者之间
2、能不能直接输出就要看模块输出的电量是否能满足你的要求了,注意额定电流和负载。能够负载就好。
一般情况下为了保护模块,是要加上的。
1. 继电器输出:优点是不同公共点之间可带不同的交、直流负载,且电压也可不同,带负载电流可达2A/点;但继电器输出方式不适用于高频动作的负载,这是由继电器的寿命决定的。其寿命随带负载电流的增加而减少,一般在几十万次至Jl百万次之间,有的公司产品可达1000万次以上,响应时间为10ms 。
2.可控硅输出:带负载能力为0.2A/点,只能带交流负载,可适应高频动作,响应时间为1ms。。
3.晶体管输出:是适应于高频动作,响应时间短,一般为0.2ms左右,但它只能带 DC 5—30V的负载,最大输出负载电流为0.5A/点,但每4点不得大于0.8A。
a. 继电器: 机械式开关装置,噪音大,反映时间长,寿命短,适用于大功率、低频率信号(220V、380V交直流信号)的切换; b.晶体管: 电子开关装置,噪音小,反映时间短,寿命长,适用于小功率开关信号传输,可用于高频脉冲信号之输出; c.可控硅: 电子开关装置,噪音小,反映速度快,寿命长,可承受大功率信号的传输任务。
西门子PLC的S7系列的体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性更高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。
西门子PLC的S7系列的分类及常用软件
1.西门子PLC的S7系列的 S7-200
S7-200 PLC是超小型化的PLC,它适用于各行各业,各种场合中的自动检测、监测及控制等。S7-200 PLC的强大功能使其无论单机运行,或连成网络都能实现复杂的控制功能。
S7-200PLC可提供4个不同的基本型号与8种CPU可供选择使用。
2.西门子PLC的S7系列的S7-400
S7-400 PLC是用于中、高档性能范围的可编程序控制器。
S7-400 PLC采用模块化无风扇的设计,可靠耐用,同时可以选用多种级别(功能逐步升级)的CPU,并配有多种通用功能的模板,这使用户能根据需要组合成不同的系统。当控制系统规模扩大或升级时,只要适当地增加一些模板,便能使系统升级和充分满足需要。
3.西门子PLC的S7系列的工业通讯网络
通讯网络是自动化系统的支柱,西门子的全集成自动化网络平台提供了从控制级一直到现场级的*性通讯,“SIMATIC NET”是全部网络系列产品的总称,他们能在工厂的不同部门,在不同的自动化站以及通过不同的级交换数据,有标准的接口并且相互之间*兼容。
本程序适用于SIMATIC S7-212和S7-214的计数器,可以从0计到255,这要取决于输入10.0的状态。如果将输入10.0置为1,则程序减计数;如果将输入10.0置为0,则程序加计数。
如果输入10.0的状态改变,则将立即激活输入/输出中断程序,中断程序0或1分别将有储器位M0.0置成1或0。
西门子PLC的S7系列的程序和注解
本程序是一个输入/输出中断程序的范例,计数器从0计到255。如果输入10.0为0,则程序加计数;如果输入10.0为1,则程序减计数。
本程序包括以下三个程序:
Main (主程序) 初始化和计数
INT0 (中断程序0) 输入10.0为1时,减计数。
INT1 (中断程序1) 输入10.0为0时,加计数。
本程序长度为32个字
//标题:事件中断
//********主程序*********
//主程序包括初始化程序和计数程序。
//计数器的存储器标志位M0.0的0或1状态,决定计数方向为加或减计数。
//当输入10.0山0变为1时,产生中断事件0,激活中断程序0 (INT0)。
//中断程序0将存储器位M0.0置成1,导致主程序减计数。
//当输入10.0山1变为0时,产生中断事件1,激活中断程序1 (INT1)。
//中断程序1将存储器位M0.0置成0,导致主程序加计数。
//主程序
LD
MOVB
ENI
ATCH
ATCH
LDN
AB>=
A
EU
INCW
SM0.1
+0, AC0
+0, 0
+1,1
M0.0
16#FE, ACO
SM0.5
AC0
//仅首次扫描时,SM0.1才为1,进行以下初始化
//将计数累加器ACO清Oa
//允许中断。
//输入10.0为上升沿时激活事件中断0
//输入10.0为上升沿时激活事件中断1
//如果存储器的标志位M 0.0为0状态
//且计数累加器ACO的当前计数值小于或等于254
//且0.5秒脉冲
//且上升沿
//那么计算累加器ACO加1
LD
AB<=
A
EU
DECW
M0.0
16#1,AC0
SM0.5
ACO
//如果存储器的标志位M 0.0为1状态
//且计数累加器ACO的当前计数值大于或等于
//且0.5秒脉冲
//且上升沿
//那么计算器累加器ACO减1
LD
MOVB
MEND
SM0.0
AC0, QB0
// SM0.0总是1。
//在输出端00.0至00.7显示ACO的当前计数值。
//主程序结束。
//******中断程序0******
//事件中断程序0将存储器的标志位M0.0置成
//此情况下程序减计数。
//
INT 0 //中断事件0减计数。
S M0.0,1 //将存储器的标志位M0.0置成
RETI //中断程序0结束。
//******中断程序1******
//事件中断程序1将存储器的标志位M 0.0置成Oa
//此情况下程序增计数。
INT 1
R M0.0,1
RETI
//中断事件1加计数。
//将存储器的标志位M0.0置成O。
//中断程序1结束。
1.指令特点与编程
S7-300/400的转换指令功能相对单一,所有代码转换指令均为用于数据形式转换的指令,且不可以实现ASCII码、字符串的转换,也无译码功能。
S7-300/400的数据形式转换指令主要有如下特点:
①转换指令主要有BCDj、I-BCD、BCD_DI、DI—BCD、DI_RI、I_DI、ROUND、TRUNC、CEIL、FLOOR等,可以进行十六进制数与BCD之间的转换、整数与浮点数之间的转换、浮点数的“取整”等操作。
②与移位指令一样,S7-300/400的数据形式转换一般只能通过累加器1进行,当存储器需要移位时,应首先将存储器的内容移动到累加器l中。
③S7-300/400的移位操作只能对字、双字长的数据进行,不能用于字节。
2.BCD转换指令
S7-300/400的数据形式转换指令BCD I、I__BCD、BCD—DI、DI__ BCD用于十六进制数与BCD
之间的转换。
编程需要注意以下几点:
①S7-300/400的BCD数据只能对字、双字长的数据进行,不能用于字节。
②指令BCD I、LBCD用于16位整数与BCD间的转换,由于数据带符号,因此只能转换3位BCD码,BCD数据的范围为-999~+999。指令BCD DI、DI__ BCD用于32位整数与BCD间的转换,同样带符号,因此只能转换7位BCD码,BCD数据的范围为-9999999~+9999999。
③16位整数的BCD存储格式为:
格式中的空余位(16位整数的bit14~bit12、32位整数的bit30~bit28),一般取与符号位相同的值,如:正数为“O”;负数为“l”。
④当16位、32位整数转换为BCD时,如果出现大于9的十进制数值(如1100等),或者转换后的数值超过了BCD格式允许存储的范围,将出现转换错误,并导致PLC的停止。
西门子S7-300/400系列PLC程序块的加密方法
对西门子S7-300/400PLC程序块的加密通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。 对S7-300/400plc程序块的加密通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和 IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。
如何实现程序块保护:
1.打开程序编辑窗口LAD/FBD/STL;
2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File—》Generate source 生成);
3.在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
4.在程序块的声明部分,TITLE行下面的一行中输入” KNOW_HOW_PROTECT”;
5.存盘并编译该source文件(选择菜单FileàSave,FileàCompile);
现在就完成了您程序块的加密保护;
取消对程序块的加密保护
1. 打开程序块的Source源文件;
2. 删除文件中的KNOW_HOW_PROTECT;
3. 存盘并编译该source文件;
4.现在程序块的加密保护已经取消。
注释:
如果没有 STL source 源文件,您是无法对已经加密的程序块进行编辑的。
廊坊西门子代理商