您的位置:控制工程论坛网论坛 » PLC与PAC » 西门子 SIMATIC S7-300/400问答集锦(二)

常青树

常青树   |   当前状态:在线

总积分:1421  2024年可用积分:0

注册时间: 2008-09-28

最后登录时间: 2012-05-30

空间 发短消息加为好友

西门子 SIMATIC S7-300/400问答集锦(二)

常青树  发表于 2008/11/17 7:15:19      1749 查看 0 回复  [上一主题]  [下一主题]

手机阅读

22.存储卡的使用方式 
问:存储卡的使用方式有几种,区别是什么,常用那种;为什么一开始存储卡好像不起作用,操作一次后好像才有用,断电重启会读取存储卡内容,如何清空存储卡让其恢复出厂设置;300 和 400 是否都是这样;谢谢回复!

答:目前S7-400 可以扩展二种存储卡,RAM 和FLASH EEPROM。 
前者必需要电池, 我常扩展 RAM, 在线调试比较方便,但不利于维护。  如果使用 FLASH EEPROM 最好也要加电池,但如果经常需要修改程序就不方便了。 
老 S7-300 只能用 FLASH EEPROM,不能在线修改程序;新 S7-300 用的是闪存,可以在线修改程序。 FLASH EEPROM 的清空只能用编程器。
存储卡使用方式是“拷贝程序到存储卡和拷贝工程项目到存储卡”这两个通常用那种 SAVE TO MEMORY CARD 是在编程器的 MEMORY CARD 插槽中写FLASH 或 EPROM  DOWNLOAD USER PROGRAM TO MEMORY CARD FLASH 是插在PLC 上的。 

23.控制系统方案可行吗? 
问:系统中的开关量 350,模拟量 70左右,12 个PID 控制回路,打算采用 CPU412-2,经加上几个 ET200M,为了省钱和接线方便,开关量和模拟量模板想尽可能挂在 ET200M 上,有三个问题请教:
1、ET200M最多只能挂 8 个模板吗?
2、采用3 块FM355C 挂在ET200 上还是选用 FM455C 挂在 CPU 上?那种模块更好,用些编程方便?
3、用FB41 比用FM355 和FM455C编程是不是麻烦些?

答:
1、1 个ET200M 站最多挂 8 个模板,也就是 1 个IM153 后最多可界挂 8 个模板。
2、FB41最经济, FM355C 其次, FM455C 贵。 如果要求不高,
3、推荐用 FB41, 编程不复杂。 FM355C、 FM455C是可以独立于 CPU 单独工作的控制模块,功能强,响应快,不受 CPU 负荷多少等因素的影响。

24. SFC14 读取 DP 从站数据与用 L 指令读从站的输入镜像区两种方法的区别 
问:SFC14 读取 DP 从站数据与用 L 指令读从站的输入镜像区两种方法的区别是什么? 除了以上问题外,还想问一下 consistent data 这个名次是什么意思?

答:1.在 STEP 7 中的 I/O 存取指令 L,T 不允许用单字节、单字或双字命令去存取具有 3个或大于 4字节的相连续的 DP 数据区域 (模块)。为了存取这种封闭结构的连续的数据区域,只能使用 SFC14/15 来使用。
2.不一样,如果你的 DP从站的地址用的是过程映像区的地址,就没有必要使用 SFC14/15,只要和普通的 I/O 一样访问就是了,S7-300 是在 0-127 之内。 
但如果使用的是外设通道,就有一致性的区别,如果是字一致性,你在访问 PID256 时,就有可能被中断,PIW256 和 PIW258 的内容不是同步刷新的。而区域一致性的地址只能用SFC14/15 访问,而且在访问这个连续地址时是不允许被中断的,其内容是同步刷新的。
3.判断一个地址是在过程映像区还是外部输入很简单,双击打开 DP 从站的 I/O 属性,看其process image 属性,如果是 OB1 PI(对于 S7300,只有一个映像区,S7400 则不然),那么从站的地址就是在过程映像区里的。如果 process  image属性为空,则属于外部输入。通常,模块的一致性选择为 BYTE ,都放在过程映像里。一致性为 WORD 或 UNIT 等等,地址都是外部输入。 
以上为我个人的看法,请大家讨论。

25. 关于SFC20 bit move 为什么出错 
问:CALL "BLKMOV" 
SRCBLK :=P#M 0.0 BOOL 5 
RET_VAL:=MW100 
DSTBLK :=P#M 20.0 BOOL 5 
NOP 0 
lw1 和 lw2 的地址冲突的。 

答:用 mw0 和 mw2 来说明: mw0 和 2#0000001111111111 做与操作,mw2 和 2#1111110000000000 做与操作,再将 2 个结果做或操作,送到目标地址就可以了。

26. 两台S7-300 用MPI 组态方法 
问:现有 2台 314,PROFIBUS 通讯插头 2 个,一根编程电缆,一台笔记本需用 MPI通讯传输数据。如何连接组态,及下载程序。314 地址各是多少

答:硬件先连好,然后分别上电下载程序即可.

27. S7-400 Work Memory 空间问题 
问:S7-400 Work Memory空间问题 ,使用的 cpu是 412-2,其Work Memory Code 的最大容量是90000Byte,Work Memory Data 的最大容量是 77824Byte,可是我的程序所需要的 Work Memory Code 大概又 110000Byte,查看了 S7-400 的说明书,CPU412-2 的Work Memory Code 最大为72K,Work Memory Data 最大为72K,请问各位大虾除了不换 CPU 的情况,请问还有什么好的办法来解决? 

答:work memory 只有 H 系统的能够扩展,其他 CPU 没有可能。 
变法: 1、更换 CPU; 2、改变程序结构,比如减少嵌套层次,有可能。

28. 关于模拟输入的问题 
问: 在使用模拟输入模块时 (7KF02),输入信号为 0-10V.已经将小模块指向 B 位置, 在STEP7中也已经组态,模块也有 24V 电源,我用了一个通道其他通道一屏蔽,信号接在端子 2 和 3上。为什么已接上线模块的 SF 灯就亮,CPU 也报警。

答:上面的问题是由于信号源接地造成的,10 和 11 没有短接。10 和 11 还有每个通道的低电位端与-M 短接在一起是为了避免信号干扰。

29. 请教 SM331-7KF02 是 12 位的模拟量输入模块,为何输出对应值不是 0-4096 而是0-27648 
问:请教SM331-7KF02 是12 位的模拟量输入模块,为何输出对应值不是 0-4096 而是0-27648? 另外,4-20mA 信号输入,还要外加 24VDC 电源,是否应选 4 线制变送器? 量程选 C 还是 D?

答:如果 12 位使用 4096,那么 13 位就要使用 8192,14 位 18384,.... 编程的时候需要随时考虑模块精度,很多标准函数都不能使用了。 低位补 0 的方法比较聪明。

30. S7 300 做双机热备
问:请教大虾,S7 300 中除 318 外,315 可以做双机热备吗?给个例子可否!

答:双机热备的概念是一台 CPU 发生故障,另一台 CPU 马上投入.时间相差在毫秒级。两台CPU 要求时间严格的同步。 用 315-2DP实现的备份实际上是用软件的方法来实现的, 两台 CPU中只有一台执行冗余备份程序,另一台跳过该段程序,以此实现同步.可以用在切换时间要求不严格的场合。实现软冗余功能还需购买"SW-REDUNDANCY"软件包,具体实例该包中都有。 

31. 如何接无用的模拟量输入 
问:当用模拟量 6ES7 331-7KF00-0AB0,有一组的其中没用,还有就是备用通道应如何接。例如 4-20ma,4 线制的?

答:1 四线制电流 
一组中的两个通道串接即可,即输入信号的正极接一通道的正极,一通道的负极接二通道的正极,输入信号的负极接二通道的负极,这样电流流经两个通道,不影响通道组诊断功能的使用。 
2 二线制电流 
在不用的输入口并联一个 1.5-3.3k 欧姆的电阻 
3 -+5v/-+10v/热电偶  把不用的通道短接 
4 1-5V  把不用的通道和同组的通道并联。 
5 一组输入不用  在硬件组态中禁止,硬件调线设置为 B,然后各个通道的输入短路。

32. 如何给程序加密码 
问:请指教!给程序块加密 
答:在 Step7 中, 可以先任意打开一块, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"object  name"如"tt",然后按OK确认,就会再弹出另一个画面,左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边, 然后退出所有的程序块,再进入SIMATIC Manager 中。 在S7  Program Sources找到文件tt,双击tt打开,在第四行中加入"Know_How_Protect", 然后编译, 无错后存盘。这样 FB1、FB2 就被保护住,如想去掉保护,在 tt 中去掉"Know_How_Protect"编译存盘即可。 
注意: 千万不要丢失或删除源文件(如 tt), 否则程序被保护, 用户可以另存到其它目录中,或Export Source 到硬盘中,再删除源文件,这样别人只能看到未保护的块。 

33. DI 模块输入频率 
问:请问3211BH020AA0 模块,DI 输入频率最高能到多少? 样本上没有注明!

答:取决于信号模块高电平的建立时间,及程序的扫描周期,前者的时间是固定的,可以忽略不计,后者的影响较大,如果一个程序的平均扫描周期为 20 毫秒,则输入信号的高低电平时间都必须大于 20 毫秒,输入信号周期大于 40 毫秒,所以信号频率小于 25HZ,考虑扫描周期变化的因素,可能输入信号的频率小于 15HZ 才能被可靠地识别。  不能满足上述要求,都应该使用 SM321-7BH 的中断输入模块,其响应频率最大 1000HZ。

34. OB100 
问:OB100 是暖启动功能块,S7-300的 CPU313C-2DP 应该只有暖启动,我在 OB100 里编写了最简单的程序,即:常闭输入 M1.0 输出 M2.0。为什么不能在线监视。 
我的理解是:在启动 CPU 后应该有输出 M2.0.

答:OB100 只是用来做 CPU 上电初始化的,你不妨在线监控一下就能观察到,软件界面下部的状态进度条(绿色)的状态是静止的,是因为上电初始化 OB100 中的程序扫描一个周期后就进入 OB1中的程序循环扫描了。然后你可以用软件的变量表进行监控或置位观察变量的状态。

35. 有关pid 的疑惑 
问:我记得 pid 控制是计算出偏差 E 后,用放大、微分、积分的方式算出 pid 的输出值,,然后加在当前的输出上,但看到 fb41 的帮助,好像并没有加,而是直接的输出,在实验中的感觉也是这样。,稍微有一个偏差,输出就变成 100 或者 0,请教高手有没有什么好一点的方法让 pid 更稳定一些,以免阀门总是在动作?

答:PID 只是过程控制的算法。 
按你所说,输出频繁波动形成陡升降输出曲线: 
1、是比例的作用太大和缺少积分作用造成。 
2、输出的量程是否对应阀的驱动量程。 
3、给定值和测量值的量程是否一致

36. fb41 与sfb41 的区别 
问:编程时在 libraries 目录下(不知是否这样叫),有 stdlibs 和standard libraries两个子目录中都可以找到 sfb41 ,这两个东西有何区别,另外在 standard libraries 中在pid control blcok 目录下还可以找到 fb41,不知这个 fb41 与上述两个 sfb41 有何区别,我本以为自己编的是 fb,系统提供的应是 sfb,真搞不懂,请各位赐教。谢谢。

答:FB41 和 SFB41 功能完全一样。  SFB41 是系统集成功能,只有 S7-300C 及 314IFM 这几种 CPU 中集成了。  FB41 则是通用功能块,可在任何 CPU 中运行。

37. 请教高手 MMC 卡的问题 
问:现用 CPU314-DP,MMC 卡是64K 的 但是程序块较多,所以提示 MMC 卡空间不够。 本人有 32M 的 MMC 卡,不知可不可以用在 CPU314-DP 上? 我把原配 64K 的 MMC 卡放到读卡器里却提示“未格式化”,那它原来是什么格式的呢?

答:1. MMC卡作为 CPU的装载内存(Load Memory) ,在为您的 CPU 选型MMC 的时候,我们建议您所选的 MMC 卡一定要大于等于您所选定的 CPU 工作内存的大小(work memor 在定购以上产品时,PLC 本身不带有 MMC 卡,所以为了正常使用 PLC,您必须根据您工程项目实际需求定购一个大小适用的 MMC 卡,如果您的 PLC上未插入 MMC 卡,你是无法将 STEP7中的程序和数据下载下去的,同时你应当注意,不能带电插拔 MMC 卡,否则会丢失程序或损坏 MMC卡。 
2. 在Simatic  manager中,选择一个程序块下载,则该块被下载到 MMC 卡中,如果在窗口左边的树型图中选中 Block 文件夹进行下载,则所有的块被下载到 MMC卡上,MMC 中原有的信息将被覆盖,向 MMC 卡读写数据或下载程序的次数不受限制。 
3. 除过 CPU 中集成的 SFB/SFCs 块外,MMC 当中其他的块可被在线删除。 
4.  对某些CPU用新版MMC卡 (6ES7 953-XXX10-0AA0) 替代旧版MMC卡 (6ES7 953-XXX00-0AA0)时需要升级 PLC的 OPERATING SYSTEM。升级时需要使用 PG(6ES7798-0BA00-0XA0)或带USB口的编程器(6ES7792-0AA00-0XA0) ,通过 STEP7 MANAGER 窗口中的菜单功能“PLC/UPDATE OPERATING SYSTEM”将 CPU_HD.UPD 文件写到 MMC 卡上,CPU_HD.UPD 文件可以在www4.ad.siemens.de 网站上下载得到。 
5. y) ,最好比工作内存大一些,但如果您的应用中,PLC工作时要使用大量的过程数据,历史数据,配方数据等或控制工艺中存在较多的用户程序块、STEP7 中的应用功能块(如FB41、FB42 等)时,建议选用 2-8M 的 MMC 卡,但请注意只有 314、315-2DP、C7 系列的PLC 支持8M 的MMC 卡。 
6.  MMC 卡是装载内存, 所以不能够在上位机中的组态软件中直接读取 MMC 卡上的数据值 (DB块中的数据) ,组态画面读取的是 PLC RAM 内存中的数据。 
7. 在西门子的 PLC 上必须使用西门子专用的 MMC 卡,如下表中所列出的,不能使用数码相
机、移动电话或 PDA 等数码产品使用的通用型 MMC 卡。 
The order numbers for MMC cards are in the following table: 
Micro Memory Card / S7-300 Order number 
64 Kbytes 6ES7 953-8LF11-0AA0 
128 Kbytes 6ES7 953-8LG11-0AA0 
512 Kbytes 6ES7 953-8LJ11-0AA0 
2 Mbytes 6ES7 953-8LL11-0AA0 
4 Mbytes 6ES7 953-8LM11-0AA0 
8 Mbytes 6ES7 953-8LP11-0AA0

38. 可以在原有的工程中修改 CPU 的型号吗 
问:我在组太时用的是 STEP7-V5.2 , 但使用的CPU 版本比较新 , 我现在才知道 , 不知该怎么修改,请大家帮忙,谢了

答:同型号不同版本的 CPU 可以直接替换,直接从库里选中你需要的 cpu 拖到机架上替代原来的 cpu 就可以了。不同型号的 cpu 如果替换的话,需要先将旧的 cpu删掉,再插入新的,但是它会提示你是不是要删除原来的程序,你选择“否”就可以了。

39. 格雷码的转换 
问:我的 CPU 是 313C,使用 SM338 读入格雷码后,想转换成二进制数,有大虾有程序吗?请多指教。

答:格雷码的转换方法: 
某二进制数为: Bn-1 Bn-2 …… B2 B1 B0 
其对应的格雷码为:Gn-1 Gn-2 …… G2 G1 G0 
其中最高位保留: Gn-1=Bn-1 

其它各位: Gi=Bi+1 XOR Bi i=0,1,2 …… n-2 
例如: 
二进制:10110 
对应的格雷码为:11101 
而格雷码转换为二进制时,方法如下: 
B0 = Gn-1 XOR Gn-2 XOR …… G1 XOR G0 
B1 = Gn-2 XOR Gn-3 XOR …… G1 XOR G0 
…… 
Bn-1=Gn-1 

40. 关于双机热备的问题,
问:请问一下,两个 H 系统 400CPU,进行双机热备,用四个同步模块连接两个 CPU, 四个模块需要在硬件组态上组态吗,如果组态,我怎么没有在程序里找到这个东西呀,需要下那个补丁包?请高手指点

答:同步模块不需组态。但注意将同步模块插入 PLC 前,先设定上面的拨位开关。第一次用的时候这个问题困扰了我很长时间。

41. 请问一下 400H,我在主站下载了程序,同时我也要在备用站下同样的程序吗
问:请问一下 400H,我在主站下载了程序,同时我也要在备用站下同样的程序吗?他们之间如何知道那个是主主站的,那个是备用站的?是通过什么实现的, 2、我是分别对两个站编程,还是在同一个站,使用它们之间的通讯网络进行下载程序

答:不用。 一次编程,一次下载,PLC 会自动同步程序的。 CPU 上有指示灯显示哪个是主,哪个是备。

42. 请问 300 如何通过 CPU 模块上的开关,来清程序 
问:300 如何通过 CPU 模块上的开关,来清程序。我看了手册有,但看不明白。

答:You can use the following procedure to delete the block on an MMC in the CPU: 
1.The MMC to be deleted is slotted in the CPU. 
2.In the SIMATIC Manager, switch to online mode via "View > Online" or by pressing the appropriate button. 
3.In the Online window, you select the block folder. 
4.Select all the blocks in the folder which you want to delete. 
5.Click the "Delete" key on your PC keyboard (you can acknowledge the message that system functions cannot be deleted). 

43. 求教从那里可以看到调用 SFC15 时,CPU 支持的最大数据长度 
问:ppo10 是 pkw 通道 8byte,pzd 通道 6byte,是否可以在用 sfc15 写 dp 数据时直接写14byte?cpu 返回错误码80b1。

答:SIMATIC S7 系统的CPU 通过用 STEP 7 程序的专用的 I/O存取命令来寻址分散外围设备模块的 I/O数据。这些命令直接调用 I/O 存取或通过过程映像调用 I/O 存取。用于读和写分散 I/O 信息的数据格式可以是字节、字或双字。  然而,有些 DP 从站模块有更复杂的数据结构。它们的输入和输出数据区域有 3 个字节或大于 4 个字节的长度。这些数据区域也称为相连续的 I/O 数据区域。在使用相连续的数据区域的 DP 从站的参数集中,参数“Consistency”必须设置为“Total Length” 。  对于连续的数据,输入和输出数据不能通过过程映象来传送,也不能用通常的“I/O 存取命令来调用数据交换。原因在于对 DP主站上的输入/输出数据的 CPU 更新循环。DP 输入/输出数据的更新只能由 DP 主站与 DP 从站间的循环数据交换(总线循环)而确定。因此,从 DP主站来的数据或到 DP 主站的数据可能已经在寻址的 DP 从站 I/O 数据的一条 STEP 7 存取指令与下一条 I/O 存取指令之间被更改了。由于这个缘故,仅对用户程序用字节、字或双字命令无任何中断地编址的 I/O 结构和区域才能保证数据的连续性。
 
对于复杂功能的 DP 从站,如闭环控制器等,它们通常不能用简单的数据结构来完成这些任务。这些 DP 从站需要更大的输入和输出区域,而且在这些 I/O 区域中的信息常常时相连不可分割的。因此,它们不能用字节、字和双字的结构来存储。这样的数据区域称之为”连续的“。在一个输入/输出模块内,用组态报文可以指定长度可达 64 字节或字(128 字节)的数据区域。为了对这些相关的模块读或写信息,必须使用 DP 从站的连续的输入/输出数据区域和特殊的功能。在 SIMATIC S7 中,系统功能 SFC14 DPRD_DAT 和 SFC15 DPWR_DAT 是为此目的保留的。

44. 安装了从网上下载的 STEP7 V5。2 软件后,为何在通讯中找不到 CP5611 卡
问:从网上下载了 STEP7 V5。2 软件后,在机上安装完整后,发现新建的文件中没有不能用CP5611 卡进行下载程序,不知何故?

答:你换个 PCI 插槽试一下!看看。以前我也遇到过,我原来的 CP5611 卡插到一个插槽,然后更换插槽后 CP5611 卡没有被读到,我在硬件中删除未知设备后,换到原来的插槽就好用了! 

45. 询问FM350-1 的问题
问:我用一个脉冲发生器产生脉冲数,可 step7 程序监测时发现信号没有采集到?硬件接线为 1 为+24V,2、3、20 为 M,4 为+5V,5、6 分别为脉冲 A 的正和负。这样接线没错吧?请问 4 为+5V 或为+24V 的含义是什么?

答:编码器需要 FM350-1 供电的情况下可选择 5v 或 24v 输出。 如编码器为 5v 编码器,则选择 5v 输出,否则选择 24v 输出。侧面的开关一定对应编码器的电压等级,否则容易损坏HSC!

46. 一个 cpu314 挂两个 cp340,如何调用 FB2 及其背景数据块
问:一个 cpu314 挂两个cp340,如何调用 FB2,及其背景数据块?如题,都用 FB2 和FB2 的背景数据块呢,还是改变 FB2 的NAME 和背景数据块? 用一个 FB2 和同一个背景,总会有一个数据是不正常的,不知为什么?请指教?

答:如果程序逻辑不当,同一个背景数据块会出问题的。要使用不同的背景数据块。强烈建议你把 FB2和背影数据块同时改掉,即每个 CP340 有各自的FB2 和背景数据块,这样效果非常好。不会有程序上的冲突。

47. 请教一个问题
问:我在硬件组态中把 CPU 的类型改了,结果我编的程序没有了。 出现一个 S7 program 新的文件夹。请问原来的程序还能恢复吗!

答:你改 CPU 的类型时是否是先删除后添加?如果是“删除”的话会有对话框弹出询问你是否同时删除程序或“否”,如果你选择了“是”的话那么就无力回天了,如果选择“否”的话所编程序将保留,但不与你新的硬件组太连接,你可直接拷贝到新硬件的 PROGRAM 内即可。
1楼 0 0 回复