最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

S7-PLCSIM简介

IT圈 admin 34浏览 0评论

2024年3月2日发(作者:赫从霜)

S7-PLCSIM简介

S7-PLCSIM是S7-PLC的模拟软件,它可以在STEP7环境下,不用连接任何S7系列的PLC(CPU和I/O模板),而是通过仿真的方法运行和测试运行和测试用户的用户的用户的应用程序。S7-PLCSIM提供了简单的界面,可以,可以用编程的方法(如如改变输入的通/断/状态、输入值的变化)来监控和修改不同的参数,也可以使用不同的参数,也可以使用变量表(VAT)进行监控和监控和修改修改变量。

一、 S7-PLCSIM的特性简介

S7-PLCSIM的功能很功能很强,可以使用STEP7的所有所有工具监控调整模拟PLC的性能,通过S7-PLC工作过程与真实的PLCPLC相比,差别很小。

⑴ S7-PLCSIM可模拟的S7控制器的存储器区域如下:

存储器区域

定时器

位存储器(M)

I/O存储器

过程映象

本地数据

逻辑块和数据块

系统功能块(SFB)

描 述

T0~T511

131072bits(16KB)

131072bits(16KB)

最大:131072bits(16KB) 可预置8192(1024B)

最大:64KB 可预置32KB

2048个个功能块(FB)和和功能(FC),4095个数据块(DB)

SFB0(CTU,实现加计数功能), SFB1(CTD,实现减计数功能), SFB2( CTUD,实现加/减计数功能), SFB3(TP,生成一个脉冲信号), SFB4(TON,生成一个延时接通信号), SFB5(TOF,生成一个延时断开信号), SFB8(U_SEND,非协调发送数据), SFB9(U_RECV,非协调接收数据), SFB12(B_SEND,发送段数据), SFB13(B_RCV,接收段数据), SFB14(GET,读远程CPU数据), SFB15(PUT,写数据到远程CPU), SFB16(PRINT,发送数据到打印机),

SFB19(START,在远程设备上初始化一个暖或冷启动), SFB20(STOP,停止远程设备), SFB21(RESUME, 在远程设备上初始化一个热启动), SFB22(STATUS,查询远程对象的状态),

SFB23(USTATUS,接收远程设备的状态), SFB32, SFB33(ALARM,生成需确认的块相关的信息), SFB34(ALARM_8,生成8个信号的不带相关数据的块相关的数据), SFB35(ALARM_8P,生成8个信号的带相关数据的块相关的数据), SFB36(NOTIFY,生成无需确认的块相关的信息), SFB37(AR_SEND,发送存档数据), SFB41(CONT_C,实现连续调节功能), SFB42(CONS_C,实现步进调节功能), SFB43(PULSEGEN,实现脉冲发生功能),

SFB44(ANALOG,实现模拟量输出定位), SFB46(DIGITAL, 实现数字量输出定位), SFB47(COUNT,控制计数器), SFB48(FREQUENC,控制频率测量), SFB49(PULSE,控制脉宽调制), SFB52(RDREC,读来自DP从站的数据记录), SFB53(WRREC,向DP从站写数据记录), SFB54(RALRM,接收来自DP从站的中断), SFB60(SEND_PTP,发送数据),

SFB61(RCV_PTP,接收数据), SFB62(CONTROL,查询连接的状态), SFB63(SEND_RK,发送数据), SFB64(FETCH_RK,获取数据), SFB65(SERVE_RK,接收和提供数据)

注:SFB12, SFB13, SFB14, SFB15, SFB16, SFB19, SFB20, SFB21, SFB22, SFB23, SFB41, SFB42,

SFB43, SFB44, SFB46, SFB47, SFB48, SFB49, SFB60, SFB61, SFB62, SFB63, SFB64, SFB65是NOP(空操作)用户不需要用户不需要修改调用空操作的程序。

系统功能(SFC) SFC0(SET_CLK,设定TOD),SFC1(READ_CLK,读取时间),SFC2(SET_RTM,设定运行时间定时器),SFC3(CTRL_RTM,启/停运行时间定时器),SFC4(READ_RTM,读取运行时间定时器),SFC5(GADR_LGC,查询模板的逻辑起始地址),SFC6(DR_SINFO,读取OB启动信息),SFC7(DP_PRAL,在DP主站上触发硬件中断),SFC9(EN_MSG,使能块相关的、符号相关的以及组状态信息),SFC10(DIS_ MSG,禁止块相关的、符号相关的以及组状态信息),SFC11(DPSYC_FR,同步DP从站组),SFC12(D_ACT_D,取消和激活DP从站组),SFC13(DPNRM_DG,读DP从站诊断数据(从站诊断)),SFC14(DPRD_DAT,读取DP标准从站的连续数据),SFC15(DPWR_DAT,向DP标准从站写连续数据),SFC17(ALARM_SQ,生成可确认的与块相关的信息和用SFC18“ALARM_S”生成永久确认的块相关的信息),SFC18,SFC19(ALARM_SC,查询最后ALARM_SQ/ ALARM_DQ),SFC20(BLKMOV,复制变量),SFC21(FILL,初始化存储区),SFC22,SFC23,SFC24,SFC25,SFC26(UPDAT_PI, 刷新过程映象输入表),SFC27(UPDATE_PO, 刷新过程映象输出表),SFC28(SET_TINT,设置日期时间中断),SFC29(CAN_TINT,取消日期时间中断),SFC30(ACT_TINT,启动日期时间中断),SFC31(QRY_TINT,查询日期时间中断),SFC32(SRT_DINT,启动延时诊断),SFC33(CAN_DINT,取消一个延时诊断),SFC34(QRY_DINT,查询一个延时诊断),SFC35(MP_ALM,触发多处理器中断),SFC36(MSK_FLT,屏蔽同步故障),SFC37(DMSK_FLT,解除同步故障的屏蔽),SFC38(READ_ERR,读取故障寄存器中的信息),SFC39(DIS_IRT,禁止新的中断和异步故障的处理),SFC40(EN_IRT,激活新的中断和异步故障的处理),SFC41(DIS_AIRT,延迟一个高优先权的中断和异步故障的处理),SFC42(激活具有高优先权的中断和异步故障的处理),SFC43(RE_TRIGR,重复触发循环时间监控),SFC44(REPL_VAL,传送一个替代值到累加器1),SFC46(STP,使CPU进入停机状态),SFC47(WAIT,延迟用户程序执行),SFC48(SNC_RTCB,同步子时钟),SFC49(LGC_GADR,查询逻辑地址所属的插槽),SFC50(RD_LGADR,查询一个模板所有的逻辑地址),SFC51(RDSYSST,读取系统状态信息表或部分状态信息表),SFC52(WR_USMSG,在诊断缓冲器中写入一个用户定义的诊断事件),SFC54(RD_DPARM,读取定义的参数),SFC55(WR_PARM,写动态数据),SFC56(WR_DPARM,写缺省数据),SFC57(PARM_MOD,分配模块参数),SFC58(WR_REC,写数据记录),SFC59(RD_REC,读数据记录),SFC60(GD_SND,传送一个全局数据包),SFC61(GD_RCV,接收全局数据包),SFC62,SFC64(TIME_TCK,读取系统时间),SFC65(X_SEND,发送数据到不属于本地S7站的通信对象),SFC66(X_RCV,接收不属于本地S7站的通信对象的数据),SFC67(X_GET,读不属于本地S7站的通信对象的数据),SFC68(X_PUT,写数据到不属于本地S7站的通信对象),SFC69(X_ABORT,中断一个不属于本地S7站已建立的连接),SFC72(I_GET,读本地S7站的通信对象的说据),SFC73(I_PUT,写数据到本地S7站的通信对象),SFC74(I_ABORT,中断一个与本地S7站已建立的连接),SFC79(),SFC80,SFC81(UBLKMOV,不间断的复制变量),SFC82(CREA_DBL,在装载存储器中生成数据块),SFC83(READ_DBL,从装载存储器的数据块中读取数据),SFC84(WRIT_DBL,写数据到装载存储器中的数据块),SFC87(C_DIAG,诊断当前的连接状态),SFC90(),SFC102(RD_DPARA,读取预定义的参数),SFC103(DP_TOPOL,识别DP主站系统的总线拓扑结构),SFC105(READ_SI,读取动态系统资源),SFC106 2

(DEL_SI,删除动态系统资源),SFC107(ALARM_DQ,生成可确认的与永久确认的块相关的信息),SFC108(ALARM_D,生成可确认的与永久确认的块相关的信息),SFC126(SYNC_PI,同步刷新过程映象区输入表),SFC127(SYNC_PO,同步刷新过程映象区输出表),SFC65091,SFC65092,SFC65093,SFC65094,SFC65095,SFC65096,SFC65098,SFC65099,SFC65102,SFC65103

注:SFC26,SFC27,S7-PLCSIM仅支持仅支持输入为0的参数

SFC7,SFC11,SFC12,SFC25,SFC35,SFC36,SFC37,SFC38,SFC48,SFC60,SFC61,SFC62,SFC65,SFC66,SFC67,SFC68,SFC69,SFC72,SFC73,SFC74,SFC81,SFC82,SFC83,SFC84,SFC87,SFC102,SFC103,SFC105,SFC106,SFC107,SFC108,SFC126,SFC127是NOP(空操作)用户不需要用户不需要修改调用空操作的程序。

组织块(OB) OB1(Free Cycle)顺序扫描

OB10~OB17(Time-Of-Day Interrupt)时间-日期中断

OB20~OB23(Time-Delay Interrupt)时间延迟中断

OB30~OB38(Cyclic Interrupt)周期性中断

OB40~OB47(Hardware Interrupt)硬件中断

OB55(Status Interrupt)状态中断

OB56(Update Interrupt)升级中断

OB57 (Manufacturer Interrupt)厂商专用中断

OB61~OB64(Synchronous Cycle Interrupt)异步周期中断

OB70(I/O Redundancy Error)I/O冗余错误

OB72(CPU Redundancy Error)CPU冗余错误

OB73(Communication Error)通信错误

OB80(Time Error)时间错误

OB81(Power Supply Error)电源错误

OB82 (Diagnostic Interrupt)诊断中断

OB83(Insert/Remove Interrupt)插/拔中断

OB84(CPU Hardware Fault)CPU硬件错误

OB85(Priority Class Error)优先级错误

OB86(Rack Failure)机架错误

OB87(Communication Error)通信错误

OB88 (Processing Interrupt)过程错误

OB90(Background OB)背景OB

OB100(Warm Restart)暖启动

OB101(Hot Restart)热启动

OB102(Cold Restart冷启动

OB121(Programming Error)编程错误

OB122(I/O Access Error)I/O存储错误

注:OB55,OB56,OB57,OB61,OB62,OB63,OB64,OB81,OB84,OB87,OB88,OB90是NOP(空操作)用户不需要用户不需要修改调用空操作的程序。

⑵ 在SIMATIC Manager中的按钮可以自动接通或断开模拟过程。单击模拟按钮,可以打开S7-PLCSIM软件及模拟的PLC,当S7-PLCSIM软件运行时,可以自动连接到模拟的CPU上。

⑶ 在模拟的CPU上运行程序,可代替S7-300或S7-400的CPU模板。

3

⑷ 通过创建变量表,可以存取模拟PLC的输入/输出存储器、累加器和寄存器中的数据,也可以通过符号地址存取存储器数据。

⑸ 可以选择定时器自动运行,或者手动置为/复位。可以对各个定时器进行单独复位或一起复位。

⑹ 同真实的CPU模板一样,在S7-PLCSIM中可以改变CPU的操作方式(STOP、RUN、RUN-P)。另外,在S7-PLCSIM还提供了一个暂停(Pause)功能,允许用户暂停CPU工作,而不影响程序的状态。

⑺ 可以利用模板PLC的中断组织块OB的功能测试程序特性。

⑻ 通过对输入/输出存储器、位存储器、定时器、计数器的操作,可以记录一系列的事件,并且可以回放使之自动进行程序测试。

二、 S7-PLCSIM与真实PLC的差别

模拟PLC提供的下列功能在真实的PLC中是不可行的。

⑴ 暂停功能。暂停命令可以停止模拟CPU的运行,并且可以在暂停的指令处恢复程序的运行。

⑵ 操作方式。尽管在模拟CPU中可以像真实CPU一样进行操作方式选择(RUN、STOP、RUN-P),但是在模拟CPU的STOP操作方式下,输出的状态不会发生变化。

⑶ 立即响应。当操作对象的参数发生变化时,在模拟CPU中的存储器内容立即进行修改,而不必等到输入采样或输出刷新阶段时再进行修改。

⑷ 程序执行周期。在模拟CPU中,可以选择单次扫描(一次操作只执行一个扫描周期后,等待下一次操作),或者选择连续扫描。

⑸ 定时器操作。在模拟CPU中,允许定时器自动运行,允许手动输入定时值。可以对各个定时器进行单独复位或一起复位。

⑹ 可以手动触发中断组织块。在模拟CPU中,可以手动触发中断组织块OB40~OB47、OB70、OB72、OB73、OB80、OB82、OB83、OB85、OB86。

4

⑺ 过程映象和外部存储器。在模拟CPU中,当对过程输入值做出改变时,S7-PLCSIM立即将其复制到外部存储器中。通过这种方法,在下次扫描开始,当外部输入值被写到过程映象寄存器时,所考虑的变化不会丢失。同样,当对过程输出值做出改变时,会立即写入外部输出存储器。

⑻ 诊断缓冲区。S7-PLCSIM不支持写到诊断缓冲区中所有的错误信息。例如,不能模拟CPU中的电池损坏、EEPROM的错误。然而S7-PLCSIM可以模拟大多数的编程错误和I/O错误。

⑼ 转换操作方式(如从RUN到STOP)不会将I/O转变到一个“安全”状态

⑽ 不支持功能模块(FM)。

⑾ 不支持对等通信(如在同一机架上的两台S7-400之间通信)。

⑿ S7-PLCSIM支持4个累加器的模拟。

⒀ 在I/O中的差别。真实的S7-300系列CPU是自动配置I/O的,一旦模板插入到机架中,CPU可以自动识别。在S7-PLCSIM中,模拟CPU不能复制自动配置特性。如果要从自动配置了I/O的S7-300CPU中,程序下载到S7-PLCSIM,系统数据不包括I/O配置。如果在S7-300的程序中使用了S7-PLCSIM,为了使CPU识别可支持的I/O模板,首先要下载硬件配置。

要下载硬件配置到S7-PLCSIM,首先要创建一个项目,然后将硬件配置复制到这个项目中,再下载硬件配置到S7-PLCSIM中,之后才能下载程序块到S7-PLCSIM。

三、 S7-PLCSIM的使用方法

⑴打开“SIMATIC Manager”。

⑵选择菜单命令“Options”→“Simulate Modules”,以启动S7-PLCSIM(默认的MPI地址为2),S7-PLCSIM的窗口画面如下:

5

S7-PLCSIM的窗口画面

⑶打开要模拟的程序。

⑷选择菜单命令“PLC”→“Download”,将模拟的程序块下载到模拟的PLC中。

⑸根据提示:“Do you want to load the system data?”(是否下载系统数据?)如果不想下载硬件配置到模拟的PLC中,选择“No”;如果想下载硬件配置到模拟的PLC中,选择“Yes”。

⑹在S7-PLCSIM的窗口画面中,工具栏由3部分组成

① 标准工具栏

将插入到画面中的各个观察对象层叠排列。

将插入到画面中的各个观察对象密集(一个挨一个)排列。

② 插入观察对象工具栏

插入输入变量:单击该图标,将输入继电器插入到画面中,默认为IB0,根据模拟的需要,可 6

改写成其他形式,如IB1、IW0、ID5等。还可选择显示的数据格式,如位(bit)、二进制(binary)、十进制(decimal)、十六进制(Hex)、滑动条控制功能(Slider:Dec)32位浮点数又称实数(Real)等。

插入输出变量:单击该图标,将输出继电器插入到画面中,默认为QB0,根据模拟的需要,可改写成其他形式,如QB1、QW0、QD5等。还可选择显示的数据格式,如位(bit)、二进制(binary)、十进制(decimal)、十六进制(Hex)等。

插入位存储器:单击该图标,将位存储器插入到画面中,默认为MB0,根据模拟的需要,可改写成其他形式,如MB1、MW0、MD5等。还可选择显示的数据格式,如位(bit)、二进制(binary)、十进制(decimal)、十六进制(Hex)等。

插入定时器:单击该图标,将定时器插入到画面中,默认为T0,根据模拟的需要,可改写成其他形式,如T3、T5、T8等。还可选择时基单位,如10ms、100ms、1s、10s等。单击“T=0”按钮,可使所模拟的定时器复位。

插入计数器:单击该图标,将计数器插入到画面中,默认为C0,根据模拟的需要,可改写成其他形式,如C3、C5、C8等。还可选择显示的数据格式,如二进制(binary)、十进制(decimal)、S5时间(S5Time)等。

插入通用变量:通用变量包括输入变量、输出变量、位存储器、定时器、计数器等,取决于通过键盘输入的变量类型和参数。

垂直插入通用的位变量:通用的位变量包括输入变量、输出变量、位存储器。位变量一般以字节的形式表示,如IB1、QB3、MB7等,也可以直接输入字节、位形式的位变量,如I0.0、Q3.5、M2.3等。

插入嵌套堆栈:用于监测存储在CPU堆栈中的信息,它可以存储最多7次进入堆栈的信息,对于每一次进入,嵌套堆栈存储状态字的RLO位和OR位的状态。对于开始一个新的逻辑行的指令,如“与(A)”、“与非(AN)”、“或(O)”、“或非(ON)”、“异或(X)”、“异或非(XN)”,则进入 7

一次嵌套堆栈。

MCR堆栈存储主控继电器(MCR)最多8级嵌套,每一级都可显示RLO位的状态。

插入累加器和状态字:用于监测CPU执行用户程序时的信息。

对累加器:可以监测CPU累加器中的内容,对于S7-400,显示4个累加器的内容,对于S7-300仅使用两个累加器。

对状态字:可以监测状态字的各个位。

对地址寄存器:可以监测两个地址寄存器(AR1和AR2)的内容。

插入数据块地址寄存器:用于监测数据块地址寄存器(DB1和DB2)的内容。对于每个逻辑块,可以显示当前的逻辑块号和前一个逻辑块号,以及步进地址计数器(Step Address Counter,SAC)

模拟输入信号的方法:用鼠标单击下图中IB0的第三位(即I0.3)处的单选框,

则在框中出现符号“”表示I0.3为ON,若再单击这个位置,则“”消失,表示I0.3为OFF。信号的改变会立即引起存储区地址中的内容发生相应的变化,仿真CPU并不等待扫描开始或结束才更新变换了的数据。退出仿真软件时生成的LAY文件及PLC文件,便于下一次仿真这个项目时可以直接使用本次的各种设置。LAY文件用于保存仿真时各视图对象的信息,例如选择的数据格式等;PLC文件用于保存仿真运行时设置的数据和动作等,包括程序、硬件组态、设置的运行模式等。

③ CPU模式工具栏

单次扫描:仿真CPU仅执行程序一个扫描周期,然后等待下一次扫描(也可通过菜单选择Execute→Scan Mode→Singles can)

连续扫描: 仿真CPU将会和真实CPU一样连续地周期性的执行程序。如果用户对定时器或计数 8

器进行仿真,这个功能会非常有用(也可通过菜单选择Execute→Scan Mode→Continuous scans)

暂停

下一次扫描

复位程序中所有的定时器

⑺CPU操作开关观察对象

⑼ 程序测试记录和回放

插入程序测试记录和回放对话框,可以记录和回放一系列的数据变化。

对话框中状态栏的图标意义如下:

创建“新事件文件”按钮。

打开“已存在事件文件”按钮。

“保存”刚才记录的事件文件按钮。

“播放”回放事件文件按钮 。

开始“记录”事件文件按钮。可以捕捉并记录观察对象每一次的ON/OFF变化或对指定的数据值的变化。

“暂停”按钮。

“停止”按钮。

“播放速度选择”按钮。可以选择7个不同的播放速度:0(最快)、0.1(很快)、0.5(快)、1(默认)、2(慢)、5(很慢)、10(最慢)。

9

记录测试过程:

1、单击图标。2、单击按钮开始记录。3、输入信号值使程序执行,程序结束后,单击按钮。4、单击保存,在对话框中输入保存文件的名字、路径后单击“SAVE”保存。

回放记录的过程:

1、单击击按钮。2、单击按钮,然后选择要回放文件的路径和名字后,单击“OPEN”3、单开始回放。 按钮,在其下拉菜单中选择播放速度。4、单击 10

2024年3月2日发(作者:赫从霜)

S7-PLCSIM简介

S7-PLCSIM是S7-PLC的模拟软件,它可以在STEP7环境下,不用连接任何S7系列的PLC(CPU和I/O模板),而是通过仿真的方法运行和测试运行和测试用户的用户的用户的应用程序。S7-PLCSIM提供了简单的界面,可以,可以用编程的方法(如如改变输入的通/断/状态、输入值的变化)来监控和修改不同的参数,也可以使用不同的参数,也可以使用变量表(VAT)进行监控和监控和修改修改变量。

一、 S7-PLCSIM的特性简介

S7-PLCSIM的功能很功能很强,可以使用STEP7的所有所有工具监控调整模拟PLC的性能,通过S7-PLC工作过程与真实的PLCPLC相比,差别很小。

⑴ S7-PLCSIM可模拟的S7控制器的存储器区域如下:

存储器区域

定时器

位存储器(M)

I/O存储器

过程映象

本地数据

逻辑块和数据块

系统功能块(SFB)

描 述

T0~T511

131072bits(16KB)

131072bits(16KB)

最大:131072bits(16KB) 可预置8192(1024B)

最大:64KB 可预置32KB

2048个个功能块(FB)和和功能(FC),4095个数据块(DB)

SFB0(CTU,实现加计数功能), SFB1(CTD,实现减计数功能), SFB2( CTUD,实现加/减计数功能), SFB3(TP,生成一个脉冲信号), SFB4(TON,生成一个延时接通信号), SFB5(TOF,生成一个延时断开信号), SFB8(U_SEND,非协调发送数据), SFB9(U_RECV,非协调接收数据), SFB12(B_SEND,发送段数据), SFB13(B_RCV,接收段数据), SFB14(GET,读远程CPU数据), SFB15(PUT,写数据到远程CPU), SFB16(PRINT,发送数据到打印机),

SFB19(START,在远程设备上初始化一个暖或冷启动), SFB20(STOP,停止远程设备), SFB21(RESUME, 在远程设备上初始化一个热启动), SFB22(STATUS,查询远程对象的状态),

SFB23(USTATUS,接收远程设备的状态), SFB32, SFB33(ALARM,生成需确认的块相关的信息), SFB34(ALARM_8,生成8个信号的不带相关数据的块相关的数据), SFB35(ALARM_8P,生成8个信号的带相关数据的块相关的数据), SFB36(NOTIFY,生成无需确认的块相关的信息), SFB37(AR_SEND,发送存档数据), SFB41(CONT_C,实现连续调节功能), SFB42(CONS_C,实现步进调节功能), SFB43(PULSEGEN,实现脉冲发生功能),

SFB44(ANALOG,实现模拟量输出定位), SFB46(DIGITAL, 实现数字量输出定位), SFB47(COUNT,控制计数器), SFB48(FREQUENC,控制频率测量), SFB49(PULSE,控制脉宽调制), SFB52(RDREC,读来自DP从站的数据记录), SFB53(WRREC,向DP从站写数据记录), SFB54(RALRM,接收来自DP从站的中断), SFB60(SEND_PTP,发送数据),

SFB61(RCV_PTP,接收数据), SFB62(CONTROL,查询连接的状态), SFB63(SEND_RK,发送数据), SFB64(FETCH_RK,获取数据), SFB65(SERVE_RK,接收和提供数据)

注:SFB12, SFB13, SFB14, SFB15, SFB16, SFB19, SFB20, SFB21, SFB22, SFB23, SFB41, SFB42,

SFB43, SFB44, SFB46, SFB47, SFB48, SFB49, SFB60, SFB61, SFB62, SFB63, SFB64, SFB65是NOP(空操作)用户不需要用户不需要修改调用空操作的程序。

系统功能(SFC) SFC0(SET_CLK,设定TOD),SFC1(READ_CLK,读取时间),SFC2(SET_RTM,设定运行时间定时器),SFC3(CTRL_RTM,启/停运行时间定时器),SFC4(READ_RTM,读取运行时间定时器),SFC5(GADR_LGC,查询模板的逻辑起始地址),SFC6(DR_SINFO,读取OB启动信息),SFC7(DP_PRAL,在DP主站上触发硬件中断),SFC9(EN_MSG,使能块相关的、符号相关的以及组状态信息),SFC10(DIS_ MSG,禁止块相关的、符号相关的以及组状态信息),SFC11(DPSYC_FR,同步DP从站组),SFC12(D_ACT_D,取消和激活DP从站组),SFC13(DPNRM_DG,读DP从站诊断数据(从站诊断)),SFC14(DPRD_DAT,读取DP标准从站的连续数据),SFC15(DPWR_DAT,向DP标准从站写连续数据),SFC17(ALARM_SQ,生成可确认的与块相关的信息和用SFC18“ALARM_S”生成永久确认的块相关的信息),SFC18,SFC19(ALARM_SC,查询最后ALARM_SQ/ ALARM_DQ),SFC20(BLKMOV,复制变量),SFC21(FILL,初始化存储区),SFC22,SFC23,SFC24,SFC25,SFC26(UPDAT_PI, 刷新过程映象输入表),SFC27(UPDATE_PO, 刷新过程映象输出表),SFC28(SET_TINT,设置日期时间中断),SFC29(CAN_TINT,取消日期时间中断),SFC30(ACT_TINT,启动日期时间中断),SFC31(QRY_TINT,查询日期时间中断),SFC32(SRT_DINT,启动延时诊断),SFC33(CAN_DINT,取消一个延时诊断),SFC34(QRY_DINT,查询一个延时诊断),SFC35(MP_ALM,触发多处理器中断),SFC36(MSK_FLT,屏蔽同步故障),SFC37(DMSK_FLT,解除同步故障的屏蔽),SFC38(READ_ERR,读取故障寄存器中的信息),SFC39(DIS_IRT,禁止新的中断和异步故障的处理),SFC40(EN_IRT,激活新的中断和异步故障的处理),SFC41(DIS_AIRT,延迟一个高优先权的中断和异步故障的处理),SFC42(激活具有高优先权的中断和异步故障的处理),SFC43(RE_TRIGR,重复触发循环时间监控),SFC44(REPL_VAL,传送一个替代值到累加器1),SFC46(STP,使CPU进入停机状态),SFC47(WAIT,延迟用户程序执行),SFC48(SNC_RTCB,同步子时钟),SFC49(LGC_GADR,查询逻辑地址所属的插槽),SFC50(RD_LGADR,查询一个模板所有的逻辑地址),SFC51(RDSYSST,读取系统状态信息表或部分状态信息表),SFC52(WR_USMSG,在诊断缓冲器中写入一个用户定义的诊断事件),SFC54(RD_DPARM,读取定义的参数),SFC55(WR_PARM,写动态数据),SFC56(WR_DPARM,写缺省数据),SFC57(PARM_MOD,分配模块参数),SFC58(WR_REC,写数据记录),SFC59(RD_REC,读数据记录),SFC60(GD_SND,传送一个全局数据包),SFC61(GD_RCV,接收全局数据包),SFC62,SFC64(TIME_TCK,读取系统时间),SFC65(X_SEND,发送数据到不属于本地S7站的通信对象),SFC66(X_RCV,接收不属于本地S7站的通信对象的数据),SFC67(X_GET,读不属于本地S7站的通信对象的数据),SFC68(X_PUT,写数据到不属于本地S7站的通信对象),SFC69(X_ABORT,中断一个不属于本地S7站已建立的连接),SFC72(I_GET,读本地S7站的通信对象的说据),SFC73(I_PUT,写数据到本地S7站的通信对象),SFC74(I_ABORT,中断一个与本地S7站已建立的连接),SFC79(),SFC80,SFC81(UBLKMOV,不间断的复制变量),SFC82(CREA_DBL,在装载存储器中生成数据块),SFC83(READ_DBL,从装载存储器的数据块中读取数据),SFC84(WRIT_DBL,写数据到装载存储器中的数据块),SFC87(C_DIAG,诊断当前的连接状态),SFC90(),SFC102(RD_DPARA,读取预定义的参数),SFC103(DP_TOPOL,识别DP主站系统的总线拓扑结构),SFC105(READ_SI,读取动态系统资源),SFC106 2

(DEL_SI,删除动态系统资源),SFC107(ALARM_DQ,生成可确认的与永久确认的块相关的信息),SFC108(ALARM_D,生成可确认的与永久确认的块相关的信息),SFC126(SYNC_PI,同步刷新过程映象区输入表),SFC127(SYNC_PO,同步刷新过程映象区输出表),SFC65091,SFC65092,SFC65093,SFC65094,SFC65095,SFC65096,SFC65098,SFC65099,SFC65102,SFC65103

注:SFC26,SFC27,S7-PLCSIM仅支持仅支持输入为0的参数

SFC7,SFC11,SFC12,SFC25,SFC35,SFC36,SFC37,SFC38,SFC48,SFC60,SFC61,SFC62,SFC65,SFC66,SFC67,SFC68,SFC69,SFC72,SFC73,SFC74,SFC81,SFC82,SFC83,SFC84,SFC87,SFC102,SFC103,SFC105,SFC106,SFC107,SFC108,SFC126,SFC127是NOP(空操作)用户不需要用户不需要修改调用空操作的程序。

组织块(OB) OB1(Free Cycle)顺序扫描

OB10~OB17(Time-Of-Day Interrupt)时间-日期中断

OB20~OB23(Time-Delay Interrupt)时间延迟中断

OB30~OB38(Cyclic Interrupt)周期性中断

OB40~OB47(Hardware Interrupt)硬件中断

OB55(Status Interrupt)状态中断

OB56(Update Interrupt)升级中断

OB57 (Manufacturer Interrupt)厂商专用中断

OB61~OB64(Synchronous Cycle Interrupt)异步周期中断

OB70(I/O Redundancy Error)I/O冗余错误

OB72(CPU Redundancy Error)CPU冗余错误

OB73(Communication Error)通信错误

OB80(Time Error)时间错误

OB81(Power Supply Error)电源错误

OB82 (Diagnostic Interrupt)诊断中断

OB83(Insert/Remove Interrupt)插/拔中断

OB84(CPU Hardware Fault)CPU硬件错误

OB85(Priority Class Error)优先级错误

OB86(Rack Failure)机架错误

OB87(Communication Error)通信错误

OB88 (Processing Interrupt)过程错误

OB90(Background OB)背景OB

OB100(Warm Restart)暖启动

OB101(Hot Restart)热启动

OB102(Cold Restart冷启动

OB121(Programming Error)编程错误

OB122(I/O Access Error)I/O存储错误

注:OB55,OB56,OB57,OB61,OB62,OB63,OB64,OB81,OB84,OB87,OB88,OB90是NOP(空操作)用户不需要用户不需要修改调用空操作的程序。

⑵ 在SIMATIC Manager中的按钮可以自动接通或断开模拟过程。单击模拟按钮,可以打开S7-PLCSIM软件及模拟的PLC,当S7-PLCSIM软件运行时,可以自动连接到模拟的CPU上。

⑶ 在模拟的CPU上运行程序,可代替S7-300或S7-400的CPU模板。

3

⑷ 通过创建变量表,可以存取模拟PLC的输入/输出存储器、累加器和寄存器中的数据,也可以通过符号地址存取存储器数据。

⑸ 可以选择定时器自动运行,或者手动置为/复位。可以对各个定时器进行单独复位或一起复位。

⑹ 同真实的CPU模板一样,在S7-PLCSIM中可以改变CPU的操作方式(STOP、RUN、RUN-P)。另外,在S7-PLCSIM还提供了一个暂停(Pause)功能,允许用户暂停CPU工作,而不影响程序的状态。

⑺ 可以利用模板PLC的中断组织块OB的功能测试程序特性。

⑻ 通过对输入/输出存储器、位存储器、定时器、计数器的操作,可以记录一系列的事件,并且可以回放使之自动进行程序测试。

二、 S7-PLCSIM与真实PLC的差别

模拟PLC提供的下列功能在真实的PLC中是不可行的。

⑴ 暂停功能。暂停命令可以停止模拟CPU的运行,并且可以在暂停的指令处恢复程序的运行。

⑵ 操作方式。尽管在模拟CPU中可以像真实CPU一样进行操作方式选择(RUN、STOP、RUN-P),但是在模拟CPU的STOP操作方式下,输出的状态不会发生变化。

⑶ 立即响应。当操作对象的参数发生变化时,在模拟CPU中的存储器内容立即进行修改,而不必等到输入采样或输出刷新阶段时再进行修改。

⑷ 程序执行周期。在模拟CPU中,可以选择单次扫描(一次操作只执行一个扫描周期后,等待下一次操作),或者选择连续扫描。

⑸ 定时器操作。在模拟CPU中,允许定时器自动运行,允许手动输入定时值。可以对各个定时器进行单独复位或一起复位。

⑹ 可以手动触发中断组织块。在模拟CPU中,可以手动触发中断组织块OB40~OB47、OB70、OB72、OB73、OB80、OB82、OB83、OB85、OB86。

4

⑺ 过程映象和外部存储器。在模拟CPU中,当对过程输入值做出改变时,S7-PLCSIM立即将其复制到外部存储器中。通过这种方法,在下次扫描开始,当外部输入值被写到过程映象寄存器时,所考虑的变化不会丢失。同样,当对过程输出值做出改变时,会立即写入外部输出存储器。

⑻ 诊断缓冲区。S7-PLCSIM不支持写到诊断缓冲区中所有的错误信息。例如,不能模拟CPU中的电池损坏、EEPROM的错误。然而S7-PLCSIM可以模拟大多数的编程错误和I/O错误。

⑼ 转换操作方式(如从RUN到STOP)不会将I/O转变到一个“安全”状态

⑽ 不支持功能模块(FM)。

⑾ 不支持对等通信(如在同一机架上的两台S7-400之间通信)。

⑿ S7-PLCSIM支持4个累加器的模拟。

⒀ 在I/O中的差别。真实的S7-300系列CPU是自动配置I/O的,一旦模板插入到机架中,CPU可以自动识别。在S7-PLCSIM中,模拟CPU不能复制自动配置特性。如果要从自动配置了I/O的S7-300CPU中,程序下载到S7-PLCSIM,系统数据不包括I/O配置。如果在S7-300的程序中使用了S7-PLCSIM,为了使CPU识别可支持的I/O模板,首先要下载硬件配置。

要下载硬件配置到S7-PLCSIM,首先要创建一个项目,然后将硬件配置复制到这个项目中,再下载硬件配置到S7-PLCSIM中,之后才能下载程序块到S7-PLCSIM。

三、 S7-PLCSIM的使用方法

⑴打开“SIMATIC Manager”。

⑵选择菜单命令“Options”→“Simulate Modules”,以启动S7-PLCSIM(默认的MPI地址为2),S7-PLCSIM的窗口画面如下:

5

S7-PLCSIM的窗口画面

⑶打开要模拟的程序。

⑷选择菜单命令“PLC”→“Download”,将模拟的程序块下载到模拟的PLC中。

⑸根据提示:“Do you want to load the system data?”(是否下载系统数据?)如果不想下载硬件配置到模拟的PLC中,选择“No”;如果想下载硬件配置到模拟的PLC中,选择“Yes”。

⑹在S7-PLCSIM的窗口画面中,工具栏由3部分组成

① 标准工具栏

将插入到画面中的各个观察对象层叠排列。

将插入到画面中的各个观察对象密集(一个挨一个)排列。

② 插入观察对象工具栏

插入输入变量:单击该图标,将输入继电器插入到画面中,默认为IB0,根据模拟的需要,可 6

改写成其他形式,如IB1、IW0、ID5等。还可选择显示的数据格式,如位(bit)、二进制(binary)、十进制(decimal)、十六进制(Hex)、滑动条控制功能(Slider:Dec)32位浮点数又称实数(Real)等。

插入输出变量:单击该图标,将输出继电器插入到画面中,默认为QB0,根据模拟的需要,可改写成其他形式,如QB1、QW0、QD5等。还可选择显示的数据格式,如位(bit)、二进制(binary)、十进制(decimal)、十六进制(Hex)等。

插入位存储器:单击该图标,将位存储器插入到画面中,默认为MB0,根据模拟的需要,可改写成其他形式,如MB1、MW0、MD5等。还可选择显示的数据格式,如位(bit)、二进制(binary)、十进制(decimal)、十六进制(Hex)等。

插入定时器:单击该图标,将定时器插入到画面中,默认为T0,根据模拟的需要,可改写成其他形式,如T3、T5、T8等。还可选择时基单位,如10ms、100ms、1s、10s等。单击“T=0”按钮,可使所模拟的定时器复位。

插入计数器:单击该图标,将计数器插入到画面中,默认为C0,根据模拟的需要,可改写成其他形式,如C3、C5、C8等。还可选择显示的数据格式,如二进制(binary)、十进制(decimal)、S5时间(S5Time)等。

插入通用变量:通用变量包括输入变量、输出变量、位存储器、定时器、计数器等,取决于通过键盘输入的变量类型和参数。

垂直插入通用的位变量:通用的位变量包括输入变量、输出变量、位存储器。位变量一般以字节的形式表示,如IB1、QB3、MB7等,也可以直接输入字节、位形式的位变量,如I0.0、Q3.5、M2.3等。

插入嵌套堆栈:用于监测存储在CPU堆栈中的信息,它可以存储最多7次进入堆栈的信息,对于每一次进入,嵌套堆栈存储状态字的RLO位和OR位的状态。对于开始一个新的逻辑行的指令,如“与(A)”、“与非(AN)”、“或(O)”、“或非(ON)”、“异或(X)”、“异或非(XN)”,则进入 7

一次嵌套堆栈。

MCR堆栈存储主控继电器(MCR)最多8级嵌套,每一级都可显示RLO位的状态。

插入累加器和状态字:用于监测CPU执行用户程序时的信息。

对累加器:可以监测CPU累加器中的内容,对于S7-400,显示4个累加器的内容,对于S7-300仅使用两个累加器。

对状态字:可以监测状态字的各个位。

对地址寄存器:可以监测两个地址寄存器(AR1和AR2)的内容。

插入数据块地址寄存器:用于监测数据块地址寄存器(DB1和DB2)的内容。对于每个逻辑块,可以显示当前的逻辑块号和前一个逻辑块号,以及步进地址计数器(Step Address Counter,SAC)

模拟输入信号的方法:用鼠标单击下图中IB0的第三位(即I0.3)处的单选框,

则在框中出现符号“”表示I0.3为ON,若再单击这个位置,则“”消失,表示I0.3为OFF。信号的改变会立即引起存储区地址中的内容发生相应的变化,仿真CPU并不等待扫描开始或结束才更新变换了的数据。退出仿真软件时生成的LAY文件及PLC文件,便于下一次仿真这个项目时可以直接使用本次的各种设置。LAY文件用于保存仿真时各视图对象的信息,例如选择的数据格式等;PLC文件用于保存仿真运行时设置的数据和动作等,包括程序、硬件组态、设置的运行模式等。

③ CPU模式工具栏

单次扫描:仿真CPU仅执行程序一个扫描周期,然后等待下一次扫描(也可通过菜单选择Execute→Scan Mode→Singles can)

连续扫描: 仿真CPU将会和真实CPU一样连续地周期性的执行程序。如果用户对定时器或计数 8

器进行仿真,这个功能会非常有用(也可通过菜单选择Execute→Scan Mode→Continuous scans)

暂停

下一次扫描

复位程序中所有的定时器

⑺CPU操作开关观察对象

⑼ 程序测试记录和回放

插入程序测试记录和回放对话框,可以记录和回放一系列的数据变化。

对话框中状态栏的图标意义如下:

创建“新事件文件”按钮。

打开“已存在事件文件”按钮。

“保存”刚才记录的事件文件按钮。

“播放”回放事件文件按钮 。

开始“记录”事件文件按钮。可以捕捉并记录观察对象每一次的ON/OFF变化或对指定的数据值的变化。

“暂停”按钮。

“停止”按钮。

“播放速度选择”按钮。可以选择7个不同的播放速度:0(最快)、0.1(很快)、0.5(快)、1(默认)、2(慢)、5(很慢)、10(最慢)。

9

记录测试过程:

1、单击图标。2、单击按钮开始记录。3、输入信号值使程序执行,程序结束后,单击按钮。4、单击保存,在对话框中输入保存文件的名字、路径后单击“SAVE”保存。

回放记录的过程:

1、单击击按钮。2、单击按钮,然后选择要回放文件的路径和名字后,单击“OPEN”3、单开始回放。 按钮,在其下拉菜单中选择播放速度。4、单击 10

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论