s7-200可以直接通讯modbus吗_s7-200的特点与解密方法
扫描二维码
随时随地手机看文章
S7-200是一种小型的可编程序控制器,适用于各行各业,各种场合中的检测、监测及控制的自动化。S7-200系列的强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。因此S7-200系列具有极高的性能/价格比。
s7-200的优点1)极高的可靠性。
2)极丰富的指令集。
3)易于掌握。
4)便捷的操作。
5)丰富的内置集成功能。
6)实时特性。
7)强劲的通讯能力。
8)丰富的扩展模块。
S7-200系列PLC的特点 一:功能强
1. S7-200有6种CPU模块,最多可以扩展7个扩展模块,扩展到256点数字量IO或45路模拟量IO,最多有24KB程序储存空间和10KB用户数据存储空间。
2.集成了6个有13种工作模式的高速计数器,以及两点高速脉冲发生器脉冲宽度调制器。CPU 224XP的高速计数器的最高计数频率为200kHZ,高速输出的最高频率为100kHZ。
二:先进的程序结构S7-200的程序结构简单清晰,在编程软件中,主程序、子程序和中断程序分页存放。使用各程序块中的局部变量。易于将程序快移植到别的项目。子程序用输入、输出参数作软件接口,便与实现结构化编程。S7-200的指令功能强,易于掌握。
三:灵活方便的存储器结构S7-200的输入(I)、输出(Q)、位存储器(M)、顺序控制继电器(S)、变量存储器(V)和局部变量(L)均可以按(bit)、字节、字和双字读写。
四:功能强大、使用方便的编程软件编程软件STEP 7-MicroWIN可以使用包括中文在内的多种语言。有梯形图、语句表和功能块图编程语言,以及SIMATIC、IEC61131-3两种编程模式。
五:简化复杂编程任务的向导功能PID控制、网络通信、高速输入、高速输出、位置控制、数据记录、配方和文本显示器等编程和应用是PLC程序设计中的难点,用普通的方法对它们编程既繁琐又容易出错。
六:强大的通信功能S7-200S的CPU模块有1个或者2个标准的RS-485端口,可用于编程或通信,不需增加硬件就可以与别的S7-200、S7-300S7-400PLC、变频器和计算机通信。S7-200可以使用PPI 、MPI、ModbusRTU从站、ModbusRTU主站和USS等通信协议,以及自由端口通信模式。
s7-200可以直接通讯modbus吗s7-200不能直接实现通讯modbus。s7-200实现通讯modbus方法步骤如下:
要求:要使用Modbus协议必须先在STEP7Micro/Win上安装指令库。
Modbus主站协议只支持STEP7Micro/WinV4.0SP5及其以上版本。。
1.硬件设置
2.参数匹配
3.指令库的存储地址
4.保持寄存器值得传输
1.硬件设置例程中的Modbus通讯是在两个S7-200CPU的0号通讯口间进行的(最好每个CPU都有两个通讯口)。在主站侧也可以选择相应库文件“MBUS_CTRL_P1”和“MBUS_MSG_P1”通过1号通讯口通信。通讯口1与Micro/WIN建立PG或PC连接,两个CPU的通讯口0通过PPI电缆进行连接(电缆的针脚连接为2,3,7,8)。
图01
2.参数匹配对于MODBUS通讯,主站侧需要程序库“MBUS_CTRL”和“MBUS_MSG”,从站侧需要程序库“MBUS_INIT”and“MBUS_SLAVE”。
在Micro/WIN中您需要为主站和从站新建一个项目,程序与参数设置见图.02。
必须要保证主站与从站的“Baud”和“Parity”的参数设置要一致,并且程序块“MBUS_MSG”中的“Slave”地址要与程序块“MBUS_INIT”中的“Addr”所设置的一致(见图。02)。
Micro/WIN“系统块”中设置的0通讯口的波特率与MODBUS协议无关(“Mode”=“1”)。
图02
下面的表格列出了程序块各个参数选项及其意义
主站
MBUS_CTRL
参数意义选项EN使能Mode协议选择0=PPI,1=MODBUSBaud传输速率kbps1200,2400,4800,9600,19200,38400,57600,115200Parity校验选择0=无校验,1=奇校验,2=偶校验TImeout从站的最长响应时间msDone“完成”标志位Error错误代码1)表01
1)参看STEP7Micro/WIN帮助:“MODBUS主站执行MBUS_MSG时的错误代码MBUS_MSG”。
MBUS_MSG
参数意义选项EN使能First读写请求位Slave从站地址RW“读”或“写”0=读,1=写Addr读写从站的数据地址0。.128=数字量输出Q0.0。.Q15.7
1001。.10128=数字量输入I0.0。.Q15.7
30001。.30092=模拟量输入AIW0。.AIW62
40001。.49999=保持寄存器2Count位或字的个数(0xxxx,1xxxx)/words(3xxxx,4xxxx)DataPtrV存储区起始地址指针Done‘完成’标志位Error错误代码1)表02
1)参看STEP7Micro/WIN帮助:“MODBUS主站执行MBUS_MSG时的错误代码MBUS_MSG”。
从站
MBUS_INIT
参数意义选项EN使能Mode协议选择0=PPI,1=MODBUSAddr从站地址Baud传输速率kbps1200,2400,4800,9600,19200,38400,57600,115200Parity校验0=无校验,1=奇校验,2=偶校验Delay超时时间msMaxIQ可使用的数字输入输出点数2)MaxAI可使用的模拟量输入点数2)MaxHold保持寄存器字的最大数量2)HoldStart保持寄存器的起始地址(40001)Done完成标志位Error错误代码3)表03
2)最大的地址取决于所用CPU的类型及其最大值。
3)参看STEP7Micro/WIN帮助:“MODBUS从站协议的错误代码”。
MBUS_SLAVE
参数意义选项EN使能Done完成标志位Error错误代码3)表04
3)参看STEP7Micro/WIN帮助:“MODBUS从站协议的错误代码”。
3.库的存储地址项目完成后必须要在Micro/WIN中定义库的存储地址,当定义完存储区后,要保证在任何情况下不能再被其它程序所使用(主站侧:“DataPtr”+“Count”从站侧:“HoldStart”+“MaxHold”)。
图03
4.保持寄存器值的传输将程序下载到相应的CPU后,可以在状态表中给主站侧的V存储区赋值,然后监视从站的变化。
当主站的I0.0使能后,VW2中的内容就被发送到从站并写入从站的VW2。
保持寄存器值的传输见图。04。
指针“DataPtr”代表了V区被读的起始地址。
参数“Count”表明了地址“Addr”=“4xxxx”(保持寄存器)以字为单位被读的个数。
主站中被读取的V存储区被写入地址为“Addr”=“40002”(“RW”=“1”)的保持寄存器中。
保持寄存器是以字为单位工作的,它与从站的V区地址对应。
指针“HoldStart”明确了与保持寄存器起始地址40001相对应的V存储区的初始地址。
可以这样计算从站的V区目标指针:
2*(Addr-40001)+HoldStart=2*(40002-40001)+&VB0=&VB2
另外,要保证“MaxHold”定义的数据区能够包含主站侧所要写入的数据区:
MaxHold》=Addr-40001+Count=40002-40001+1=2
Fig.04
关于STEP7Micro/WINMOBDUS库的更多信息可以参看S7-200系统手册(EntryID1109582)和STEP7Micro/WIN帮助。
如何在STEP7Micro/WIN中找到ModbusRTU协议和USS协议操作库?
说明:
在STEP7Micro/WIN中,ModbusRTU协议和USS协议操作库位于操作树的“库”文件夹中。MODBUS函数库要求STEP7Micro/WIN为V3.2或更高版本。
图1:添加函数库
这些库是附加函数库,并非组态软件STEP7Micro/WIN的组成部分。
您如果需要使用ModbusRTU协议,必须购买“SIMATICSTEP7Micro/WINADDON:FuncTIonLibraryV1.1(USS+MODBUS)forSTEP7Micro/WIN32”软件。
这个可选附加函数库的订货号是6ES7830-2BC00-0YX0。
安装顺序:
先安装“STEP7Micro/WIN32ToolboxV1.0”(包括库),然后安装“STEP7Micro/WIN”。
注意:
这个函数库包含可以在STEP7Micro/WINV3.2中使用的ModbusRTU协议库和USS协议库。
如果您安装了STEP7Micro/WINV4.0SP5或者更高版本,那么操作库中就会包含下列函数:
ModbusRTUMasterV1.2对应端口0和端口1
ModbusRTUSlaveV1.0对应端口0
USSprotocolV2.3对应端口0和端口1
------------------------------------------------------------------------------------------------------
西门子S7-200CN解密方法及过程与本节相关的PLC解密下载地址:http://www.plcjiemi.com/200jmxs.htm
1、西门子S7-200的PLC密码共分三个层次,我们最为关心的就是系统密码,因为它直接影响到程序的上载,也是我们所要破解的关键一层密码。其次就是POU密码,对于西门子的200PLC,你虽然已经破解了系统密码,也上载了程序,但是每个POU都显示一把小锁,你并打不开程序,直接影响我们对程序的编辑。再一个就是项目密码,是程序员做完项目后为保密而在编程软件的“文件”下的“设置密码”下而生成的。
2、首先连接好与PLC的PPI编程电缆,如果您还没有编程电缆,那么你就自己开发一根吧!看下面的解密软件图,是2014年开发的不用注册的完全授权版本,您只需下载解压后便可使用。
3、解子程序(pou密码)是需要替换STEP7-MicroWIN的datamanagers200.dll文件,这样在《查看》菜单的《属性》里面的《保护》不用输入密码就可以打开子程序;请看破解流程图。
4、关于破解补丁的安装替换方法:
如果您所使用的编程软件是STEP7-MicroWINV4.0.6.35SP6版的。把(datamanagers200.dll)拷贝到“C:ProgramFilesSiemensSTEP7-MicroWINV4.0in文件夹下覆盖原文件就可以了。解子程序最低需要STEP7-MicroWINV4.0.3.08SP3版,随西门子软件版本的更新分别为SP4、SP5、SP6,现在已经达到SP7版,低版本或别的版本不行。各自的版本需要各自的破解补丁,彼此不通用。
5、关于PLC版本为02版(cn)的系统密码破解说法:
新版本的plc新增加了第4级保护,就是禁止读取和写入,无论你是否已知密码。所谓的新版本是怎么区分的?第一看硬件在PLC的底部标签的最下面一行就记录了版本号。第二看PLC正面标记的CPU的型号如226CN,如果带有“CN”字符,那么版本号肯定也是02版。第三就是通讯读版本号,你用STEP7-MicroWIN连接PLC,点击上载按钮,这时弹出的对话框中就清楚的显示了PLC的CPU型号及版本号。所以说区分新旧版本看的是版本号,带CN的只是其中的一种,还有不带有CN的也是具有四级加密功能的。也可以这样说凡具有四级加密功能的就称之为新版本。破解这种版本确实有一定的难度,但也并不是象西门子公司所说的无法破解,凡事总有破绽。
现在CN的解密套装已开始发售。现在基本可以确定PPI协议所能破解的西门子S7-200PLC的范围:02.00版以下的,包括部分02.00版本(确切的说是最高只有3级加密功能的plc),通过本软件就可以轻松破解,02.00版以上的,包括02.00版(精确定位是-具备4级加密功能的2.0版本)和所有的200CN型号,只有拆机解密,迄今为止还没有更好的办法!关于版本号,你通过本软件就可以探测到。