为主要讲授对象。西门子的PLC以其较高的性能价格比,在**国内市场占有很大的份额,在我国的各行各业得到了广泛的应用。S7-300/400属于模块式PLC,主要由机架、CPU模块、信号模块、功能模块、接口模块、通信处理器、
电源
模块和编程计算机组成,各种模块安装在机架上。通过CPU模块或通信模块上的通信接口,PLC被连接到通信网络,可以与计算机、其他PLC或其他设备通信。
1.CPU模块
CPU模块主要由微处理器(CPU芯片)和存储器组成。在PLC控制系统中,CPU模块相当于人的大脑和心脏,它不断地采集输入信号,执行用户程序,刷新系统的输出;存储器用来储存程序和数据。S7 - 300/400将CPU模块简称为CPU。
2.信号模块
输入( Input)模块和输出(Output)模块简称为I/O模块,开关量输入、开关量输出模块简称为DI模块和DO模块,模拟量输入、模拟量输出模块简称为AI模块和AO模块,它们统称为信号模块。信号模块是系统的眼、耳、手、脚,是联系外部现场设备和CPU模块的桥梁。
输入模块用来接收和采集输入信号,开关量输入模块用来接收从按钮、选择开关、数字拨码开关、限位开关、
接近开关
、光电开关、压力
继电器
等来的开关量输入信号。模拟量输入模块用来接收电位器、测速发电机和各种变送器提供的连续变化的模拟量电流、电压信号,或者直接接收热电阻、热电偶提供的温度信号。
开关量输出模块用来控制
接触器
、电磁阀、电磁铁、指示灯、数字显示装置和报警装置等输出设备,模拟量输出模块用来控制电动调节阀、
变频器
等执行器。
CPU模块内部的工作电压一般是DC 5V,而PLC的外部输入/输出信号电压一般较高,例如DC 24V或AC 220V。从外部引入的尖峰电压和干扰噪声可能损坏CPU模块中的
元器件
,或使PLC不能正常工作。在信号模块中,用光耦合器和小型继电器等器件来隔离PLC的内部电路和外部的输入、输出电路。信号模块除了传递信号外,还有电平转换与隔离的作用。
3.功能模块
为了增强PLC的功能,扩大其应用领域,减轻CPU的负担,PLC厂家开发了各种各样的功能模块。它们主要用于完成某些对实时性和存储容量要求很高的控制任务,例如高速计数、位置控制和闭环控制等。
4.接口模块
CPU模块所在的机架称为*机架,如果一个机架不能容纳全部模块,可以增设一个或多个扩展机架。接口模块(简称为IM)用来实现*机架与扩展机架之间的通信。
5.通信处理器
通信处理器(简称为CP)用于PLC之间、PLC与远程I/O之间、PLC与计算机和其他智能设备之间的通信,可以将S7 - 300/400接入各种通信网络,CP也用于实现点对点通信等。CPU模块集成有MPI通信接口,有的CPU模块还集成了其他通信接口。
6.电源模块
电源模块(简称为PS)用于将输入的AC 220V电源或DC 24V电压转换为稳定的DC 24V和DC 5V电压,供其他模块和输出模块的负载使用。
7.编程设备
S7 - 300/400一般使用安装了编程软件STEP 7的个人计算机作为编程设备,可以生成和编辑各种文本程序或图形程序。程序被编译后下载到PLC,也可以将PLC中的程序上传到计算机。编程软件还有对网络和硬件组态、参数设置、监控和故障诊断等功能。
使用该指令是将地址寄存器AR1的内容加上作为地址偏移量的累加器1中低字的内容,或加上指令中的16位常数,结果在AR1( AR2)中。首先将整数(16位)扩展为符号正确的24位,然后将其加到AR1的较低有效的24位(AR1中的相对地址的部分)。在AR1( AR2)中,区域ID的部分(*24~ 26位)保持不变。要加到AR1、AR2的内容中的整数(16位)由ACCU 1的低字中的值*。允许值的范围为-32768~+32767。参数P#Byte. Bit(被加到AR1或AR2上的地址)的数据类型为指针常数。要加到AR1、AR2的内容中的偏移量由参数P#Byte,Bit地址*。指令的执行与状态位无关,而且对状态位没有影响。
+AR1:加地址寄存器1中内容的整数(16位)通过累加器1低字中的数值定义,允许范围为-32768~+32767。
+AR1<P#Byte. Bit>:要加上的偏移量通过<P#Byte. Bit>地址定义。
编程示例1:
L +300 说明:将数值装入累加器1低字中
+AR1 将累加器1低字中的内容(整数,16位)加到地址寄存器1
编程示例2:
+ AR1 P#300.0 说明:将偏移量300.0加到地址寄存器1
2.+AR2加累加器1至地址寄存器2*(+AR2、+LAR2<P#Byte. Bit>)
使用该指令,可以将语句中或累加器1低字中定义的偏移量加至地址寄存器2。首先将整数(16位)扩展为带有其正确符号的2位数,然后加到地址寄存器2的较低有效24位(地址寄存器2中部分相关地址)。地址寄存器2中ID区部分(位24、25和26)保持不变。指令的执行与状态位无关,而且对状态位没有影响。
①STL形式的打开数据块指令“OPN<数据块>”。使用打开数据块指令,可以打开一个数据块作为共享数据块或背景数据块,可以同时打开一个共享数据块和一个背景数据块。访问已打开的数据块内的存储单元时,其地址中不必指明是哪一个数据块的存储单元,如打开数据DB10后,DB10. DBW35可简写为DBW35。
编程示例:
OPN DB10 说明:打开数据块DB10作为共享数据块
L DBW35 将打开数据块的数据字DBW35装入累加器1低字中
T MW22 将累加器1低字中的内容传送到存储字MW22
OPN DB20 打开数据块DB20作为背景数据块
L DIB12 将打开背景数据块的数据字节12装入累加器1低字中
T DBB37 将累加器1低字中的内容传送到打开共享数据块的数据字
节DBB37
②LDA形式的打开数据块指令“-(OPN)”。“-(OPN)”(打开数据块指令)可以打开一个共享数据块( DB)或背景数据块(DI)。“-( OPN)”功能是一种数据块无条件调用功能。数据块的编号被传送到DB或DI寄存器。在此之后,DB和DI指令根据寄存器的内容访问相应的数据块。
编程示例如图所示:数据块10( DB10)被打开。接点地址( DBX0.0)指的是数据块DB10中包含的当前数据记录的数据字节0的0位。该位的信号状态被赋值给输出Q4.0。
打开数据块指令使用示例
打开数据块指令使用示例
图 打开数据块指令使用示例
CDB交换共享数据块和背景数据块
使用该指令,可以交换共享数据块和背景数据块。该指令可以交换数据块寄存器。一个共享数据块可转换为一个背景数据块,反之亦然。
规格化(个人感觉不是必须要规格化,整个FB41功能块统一量纲就行了)
PID参数中重要的3个变量,给定值(SP_INT),反馈值(PV_IN)和输出值(LMN)都是用0.0~100.0之间的实数表示。
因此,需要将模拟输入转换为0.0~100.0的数据,或将0.0~100.0的数据转换为模拟输出,这个过程称为规格化
规格化的方法:(即变量相对所占整个值域范围内的百分比 对应与27648数字量范围内的量)
对于给定值(SP_INT)和反馈值(PV_IN),执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT
对于输出变量 ,执行:LMN*27648/100,然后将结果取整传送给PQW即可。
3、一般使用循环中断组织块调用FB41,一般不用OB1,因为OB1的扫描周期不是确定的。
4、FB41的输入输出参数
In
<1、COM_RST:BOOL,初始化FB41。设置为1时,积分微分的累计清零。不会自动复位,需要程序复位COM_RST。一般使用如下:
可以在OB100、OB101、OB102里面写两句话
AN “COM_RST” //如果初始化标志位是0
S “COM_RST” //将初始化标志位置1
在OB1的最后写上两句话,复位初始化标志位
A “COM_RST” //如果初始化标志位1
R “COM_RST” //将初始化标志位复位
PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是看程序需要;
<2、MAN_ON:BOOL,设置为0为自动调整;设置为1为手动调整;这里会涉及到一个自动和手动模式的切换问题:无扰动切换
PID调节器在自动→手动、或手动→自动的瞬间,PID的输出是不变化的。
从手动切换到自动,自不用说,但是从自动到手动会出现明显跳动,一般可以这样处理:从自动切换到手动增加一个斜坡处理。将自动时的输出换算成比例值,一直加载在MAN口上,切换后,通过斜坡,将MAN口上的值由原来的值过度到手动比例设定值。
此端口和<11处的MAN口配合使用。
<3、PVPER_ON:BOOL,过程值选择,此值与PV_IN和PV_PER有关系
设置为1时,直接将PIW(监测实际值端口)输入PV_PER口
设置为0时:将转化后、滤波后且规格化后(等处理过的)数据输出PV_IN口
<4、P_SEL、I_SEL以及D_SEL:BOOL,比例、积分、微分作用的选择,设置为0,相应部分不起作用。
<5、INT_HOLD:BOOL,积分保持,设置为1时,积分不累加,一般不设置。
<6、I_ITL_ON:BOOL,积分初值给定;
I-ITLVAL:REAL,积分初值。
当I_ITL_ON设置为1时,使用I-ITLVAL变量积分初值;当I_ITL_ON设置为0时,积分初始值为0。一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;此功能很少用到。
<7、CYCLE:TIME,PID采样周期。
<8、SP_INT:REAL,PID的设定值。
<9、PV_IN :REAL,PID的反馈值。数据类型为Real,显然是处理后的数值,见<3。
<10、PV_PER:WORD,PID的反馈值。数据类型为Word,显然直接PIW输入,见<3。
<11、MAN:Real,手动模式的输入端口。
<12、GAIN:REAL,比例增益。
<13、TI:TIME,积分时间。
<14、TD:TIME,微分时间。
<15、TM_LAG:TIME,多长时间开启微分,由于微分会削弱达到稳定值时间,可以延时启动微分。通常不设置。
<16、DEADB_W:REAL,死区宽度。现场监控达到设定值后,并不稳定到设定值,如果出现小范围浮动,会出现执行器来回动作问题,可以考虑用死区来降低灵敏度。此值为百分数。
<17、LMN_HLM、LMN_LLM:REAL,输出值上下极限。此处需要搭配<19处使用,即**LMN_HLM*LMN_FAC=100,程序中默认LMN_HLM为100.0,LMN_FAC为1.0,所以可以不用去设置。如果想设置,需要**上面的公式。
<18、PV_FAC、PV_OFF:REAL,PV_FAC=
传感器
的量程/100。只有在PVPER_ON为1时起作用,目的为统一单位;为零时,需要规格化,单位已经统一,所以此处无用。
<19、LMN_FAC、LMN_OFF:REAL,输出值的量程。
<20、DISV:REAL,允许的扰动量,串级系统使用,一般不设置;
OUT
<1、LMN:REAL,输出实际值占满量程的百分比。
<2、LMN_PER:WORD,PQW输出
<3、QLMN_HLM、QLMN_LLM:BOOL,QLMN_HLM:输出较大值时输出1;QLMN_LLM:输出较小值时输出1,可以作为工、变频切换(例如一台泵工频,一台泵要求变频,调节恒压时)的点位来用。
<4、LMN_P、LMN_I、LMN_D:REAL,PID输出中P、I、D的分量。三者的和为输出值。
<5、PV:REAL,实际压力值
<6、ER:REAL,偏离值,设定值与实际值之差。
以上部分加入了自己的想法,如有错误望各位大侠批评指导。
SIMATIC S7-200 是西门子公司收购的一款
plc
产品,所以其编程语言与其他西门子产品差异较大,但是它自成一体:特别紧凑但是具有惊人的能力-特别是有关它的实时性能-它速度快,功能强大的通讯方案,并且具有操作简便的硬件和软件。而且还有更多特点:SIMATIC S7-200 Micro PLC具有统一的模块化设计-目前不是很大,但是未来不可**的定制解决方案。这一切都使得SIMATIC S7-200 Micro PLC在一个紧凑的性能范围内为自动化控制提供一个非常有效和经济的解决方案。后来西门子公司推出一体化的控制方案200PLC逐渐被1200PLC替代,而且国外的西门子200PLC已经完全停产了。但是不可否认的是这款PLC曾经的辉煌,而且国内还在生产使用,如西门子226cn,后面带cn的都是国内生产,而且现在只有国内还在生产了。
西门子200除了PLC本身的4层加密以外还有一个子程序单独加密功能,即pou密码。灵活运用pou密码可以将部分重要子程序加密而非重要程序部分公开方面维护人员查找故障,而且用指令向导创建的功能其原始子程序也是加密状态的,如下图:
如上图是用PID向导创建的PID程序,而PID所包含的几个功能子程序都是加密的,看不到里面内容,现在我们使用工具破解一下。而破解过程非常简单,去网上下载破解工具如下:
如上图是用PID向导创建的PID程序,而PID所包含的几个功能子程序都是加密的,看不到里面内容,现在我们使用工具破解一下。而破解过程非常简单,去网上下载破解工具如下:
注意破解程序对应你软件的版本号找到你所使用软件的版本对应的破解程序,将里面的内容复制替换到软件安装根目录下的bin文件夹下即可。
注意破解程序对应你软件的版本号找到你所使用软件的版本对应的破解程序,将里面的内容复制替换到软件安装根目录下的bin文件夹下即可。
注意破解程序对应你软件的版本号
找到你所使用软件的版本对应的破解程序,将里面的内容复制替换到软件安装根目录下的bin文件夹下即可。
注意在复制替换的过程中要关闭软件,不然会报程序正在使用中无权操作。替换完成后打开软件,找到查看——属性——保护点击验证便可以了。如下图
注意在复制替换的过程中要关闭软件,不然会报程序正在使用中无权操作。替换完成后打开软件,找到查看——属性——保护点击验证便可以了。如下图
点击验证,破解成功后可以看到显示此POU现已有查看和编辑的授权了,点击确定就可以查看被加密的子程序本身了
点击验证,破解成功后可以看到显示此POU现已有查看和编辑的授权了,点击确定就可以查看被加密的子程序本身了
现在已经可以查看PID子程序了使用本破解功能你可以查看程序自带的PID,高速HSC,网络组态的子程序了,学习这些子程序可以加深你对这些功能的使用和调用,以提高自己的编程技能。
现在已经可以查看PID子程序了使用本破解功能你可以查看程序自带的PID,高速HSC,网络组态的子程序了,学习这些子程序可以加深你对这些功能的使用和调用,以提高自己的编程技能。
现在已经可以查看PID子程序了
使用本破解功能你可以查看程序自带的PID,高速HSC,网络组态的子程序了,学习这些子程序可以加深你对这些功能的使用和调用,以提高自己的编程技能。
后记:本破解教程适合西门子200的学习使用者,方便大家交流学习,切不可以破解别人的程序为自己牟利,这样是不道德的。
后记:本破解教程适合西门子200的学习使用者,方便大家交流学习,切不可以破解别人的程序为自己牟利,这样是不道德的。















