历史上的今天
返回首页

历史上的今天

今天是:2025年04月19日(星期六)

2018年04月19日 | s7-200可以直接通讯modbus吗_s7-200的特点与解密方法

2018-04-19 来源:姚小熊27

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

  图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解密方法及过程


    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:\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型号,只有拆机解密,迄今为止还没有更好的办法!关于版本号,你通过本软件就可以探测到。

推荐阅读

史海拾趣

General Diode Corp公司的发展小趣事
用于对焊机内部的电源模块、电磁振动系统等关键部件进行冷却,确保其正常运行。
Corex Intervest Inc公司的发展小趣事

随着技术的不断发展,Corex Intervest Inc公司意识到要想在竞争激烈的电子行业中脱颖而出,必须不断进行技术创新和产品升级。因此,公司加大了研发投入,引进了一批高端人才,积极研发新型电子产品。经过多年的努力,公司成功开发出了一系列具有创新性和市场竞争力的产品,如智能传感器、高性能电源模块等,为公司的发展奠定了坚实的基础。

Communications & Power Industries公司的发展小趣事

随着全球化进程的加速,CPI意识到要想在电子行业中取得更大的发展,必须积极拓展国际市场。公司积极寻求与国际知名企业的合作机会,通过技术共享和市场合作,成功打开了多个海外市场。同时,CPI还加强了与国际研究机构的合作,不断引进先进的技术和管理经验,提升了自身的竞争力。这些国际合作不仅为CPI带来了更多的商业机会,也推动了公司在全球范围内的品牌传播和市场拓展。

BETA Transformer Technology Corp公司的发展小趣事

为了进一步扩大市场份额,BETA Transformer Technology Corp公司开始实施国际化战略。公司积极参加国际电子展览,与国际同行进行深入交流与合作。同时,BETA公司还在海外设立了研发中心和生产基地,以便更好地服务全球客户。通过不断拓展国际市场,BETA公司的品牌影响力和市场竞争力得到了显著提升。

富信半导体(FOSAN)公司的发展小趣事

BETA Transformer Technology Corp公司在成立初期就凭借其创新性的变压器技术,在电子行业中崭露头角。公司研发团队不断突破传统变压器的设计局限,推出了一系列高效、稳定的变压器产品,赢得了客户的广泛认可。随着市场需求的不断增长,BETA公司逐渐扩大了生产规模,提高了产能,成为行业内的领军企业。

Cretex Companies Inc公司的发展小趣事

随着公司实力的增强,Cretex开始将目光投向国际市场。他们积极参与国际电子展会,与全球各地的合作伙伴建立联系。通过引进国外先进的技术和管理经验,Cretex的产品质量和服务水平得到了进一步提升。同时,公司还针对不同国家和地区的市场需求,推出定制化的电子产品,赢得了更多客户的青睐。

问答坊 | AI 解惑

探索视频图像干扰的产生和有效解决办法

新春伊始,在汇集、总结几年来对干扰原因(因素)的初步认识基础上,我们不妨来个“反向思维”,以求探索干扰的有效解决办法。     你做过安防工程吗?这样直接提问,虽然有些唐突,但还都可以回答“做过”。但是,如果我问:“你做工程 ...…

查看全部问答>

100分请教大家一个问题。怎样用单片机控制电机

现在有个项目,就是通过单片机控制精密行星直流减速电机(型号:ple06-16/55zyn04a3), 达到如下目的:电机 正转反转100次/分钟 电压15V,电流3.2A,功率120W 不知道选用什么型号的单片机,还有具体的编程大概是如何的?可以用C语言编程吗? ...…

查看全部问答>

WIN 2000下如何设计双网卡热备份

大家好?WIN2000下,双网卡热备份,也就是一个网卡坏了,另一个冗余网卡热切换,实现方案是什么?代码是什么?谢谢…

查看全部问答>

单片机学习新人 STC12C4052AD P1.1口电平输出.求解疑惑 上图 上程序

 用STC12C4052 搭建好最小系统 12M晶振 .写个 P1.1口输出 间隔时间输出脉冲信号.程序如下:     ORG 0000H    LJMP MAIN   ORG 0030HMAIN:         MOV R1, ...…

查看全部问答>

求指教

各位高手求指教啊,最近我想做FPGA方面的东西,但发现要写这方面的论文找不到合适的理论背景支持,各位大师指点一下哪方面比较适合容易写小论文啊…

查看全部问答>

f28027 launchpad 下不进去程序 求助

我用的launchpad f28027,下不进去程序,对那个跳线帽和开关怎么 设置,望多多指导啊 …

查看全部问答>

出一个 TP-LINK 路由器,九成九新,300M速度

出一个 TP-LINK 的路由器,九成九新,300M速度,原价210,现在 150元包邮出,需要的联系我的QQ 429512065…

查看全部问答>

PCB电路设计的14个误区

  现象一:这PCB板子的PCB设计要求不高,就用细一点的线,自动布吧点评:自动布线必然要占用更大的PCB面积,同时产生比手动布线多好多倍的过孔,在批量很大的产品中,PCB厂家降价所考虑的因素除了商务因素外,就是线宽和过孔数量,它们分别影响到 ...…

查看全部问答>

【转载】如何通过ARM管理FPGA周边设备

本帖最后由 chenzhufly 于 2014-11-24 16:11 编辑 在Altera SoC FPGA系统中,有两种不同的外设连接方式,一种是ARM通过AXI总线连接的外设,(可以成为硬外设),另外有一种是通过FPGA连接的外设, 在SoC FPGA中,通过FPGA连接的外设是通过LW HP ...…

查看全部问答>

MSP430F5529A支持几个UART口啊??

求大神解答啊,MSP430F5529A支持几个UART口啊??最近要选个单片机做项目,需要至少两个UART串口,不知道这个单片机支持几个啊??…

查看全部问答>