s7-200可以直接通讯modbus吗_s7-200的特点与解密方法

PLC/PAC

157人已加入

描述

  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点数字量I\O或45路模拟量I\O,最多有24KB程序储存空间和10KB用户数据存储空间。

  2.集成了6个有13种工作模式的高速计数器,以及两点高速脉冲发生器\脉冲宽度调制器。CPU 224XP的高速计数器的最高计数频率为200kHZ,高速输出的最高频率为100kHZ。

  二:先进的程序结构

  S7-200的程序结构简单清晰,在编程软件中,主程序、子程序和中断程序分页存放。使用各程序块中的局部变量。易于将程序快移植到别的项目。子程序用输入、输出参数作软件接口,便与实现结构化编程。S7-200的指令功能强,易于掌握。

  三:灵活方便的存储器结构

  S7-200的输入(I)、输出(Q)、位存储器(M)、顺序控制继电器(S)、变量存储器(V)和局部变量(L)均可以按(bit)、字节、字和双字读写。

  四:功能强大、使用方便的编程软件

  编程软件STEP 7-Micro\WIN可以使用包括中文在内的多种语言。有梯形图、语句表和功能块图编程语言,以及SIMATIC、IEC61131-3两种编程模式。

  五:简化复杂编程任务的向导功能

  PID控制、网络通信、高速输入、高速输出、位置控制、数据记录、配方和文本显示器等编程和应用是PLC程序设计中的难点,用普通的方法对它们编程既繁琐又容易出错。

  六:强大的通信功能

  S7-200S的CPU模块有1个或者2个标准的RS-485端口,可用于编程或通信,不需增加硬件就可以与别的S7-200、S7-300\S7-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)。

MODBUS

  图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”)。

MODBUS

  图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”)。

MODBUS

  图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

MODBUS

  Fig.04

  关于STEP7Micro/WINMOBDUS库的更多信息可以参看S7-200系统手册(EntryID1109582)和STEP7Micro/WIN帮助。

  如何在STEP7Micro/WIN中找到ModbusRTU协议和USS协议操作库?

  说明:

  在STEP7Micro/WIN中,ModbusRTU协议和USS协议操作库位于操作树的“库”文件夹中。MODBUS函数库要求STEP7Micro/WIN为V3.2或更高版本。

MODBUS

  图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年开发的不用注册的完全授权版本,您只需下载解压后便可使用。

MODBUS

  3、解子程序(pou密码)是需要替换STEP7-MicroWIN的datamanagers200.dll文件,这样在《查看》菜单的《属性》里面的《保护》不用输入密码就可以打开子程序;请看破解流程图。

MODBUS

  4、关于破解补丁的安装替换方法:

  如果您所使用的编程软件是STEP7-MicroWINV4.0.6.35SP6版的。把(datamanagers200.dll)拷贝到“C:\ProgramFiles\Siemens\STEP7-MicroWINV4.0\bin\文件夹下覆盖原文件就可以了。解子程序最低需要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型号,只有拆机解密,迄今为止还没有更好的办法!关于版本号,你通过本软件就可以探测到。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
吕秀才 2018-04-19
0 回复 举报
讲解的很详细,学习了 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分