西门子SIMATIC S7-300/400 问答集锦
----
1. 怎么使用 MPI/DP-RS232
问:我要将 CPU314 与电脑连接通信应该怎么办?是否用 MPI/DP-RS232 连接器,要怎么用啊?
答:第一步,将适配器(PC Adapter)与 RS232 电缆相连。适配器的 MPI/DP 口插入 CPU的编程口,RS232 电缆与 PC 的串口连。
第二步,进入"开始"->"设置"->"控制面板"->"SET PG/PC Interface"。点选“ Access Point of the Application ” =S7ONLINE ( STEP7 ),“ Interface Parameter Assignment”=PC Adapter (MPI)。
第三步,点“Properties”进入属性设置,MPI 设置内容:选中“PG/PC is the only master on the bus”,其余内容沿用默认值,或根据 CPU 的状态变更。
Local Connection 设置:COM Port="硬件连接的串口",Transmission Rate="C" Adapter 的 拨码位置。 确认后退出设置,如果上下位机参数一致的话,此时连机就会成功。
2. IW 和 PIW 有什么区别
问:STEP7 在实际应用中 IW 和 PIW 有什么区别?
答:我个人理解:对于没有相应的映像缓冲区的输入地址,一定采用 PIW 指令,而一般外 设输入地址,都是没有映像缓冲区的。对于有映像缓冲区的输入地址,一般使用 IW,表示 取映像缓冲区内数据,但也可用 PIW,表示直接取地址内的数据而非映像缓冲区的数据, 相当于立即读取。对于输出亦是如此。
3. 模拟信号接地问题
问:我用的 SM331 8*12bit 模块信号有时正常有时不正常,后来我把 COMP-跟信号的 M- 接起来就好了,但我同时发现他们之间接电容也可以,是怎么回事??模块的 COMP-端、 各信号的 M-端和模块 24 伏供电的 M 端之间电气上有什么关系??
答:对隔离输入模板,.摸板参考地 Mana 与 CPU 的电源地 M 没有电连接。因此 Mana 与 M 有电位差时,必须采用隔离输入模板。但是,如果电位差超过 Eiso,则必须建立 Mana与 M 之间的连接。对 SIEMENS 的模板,Eiso=75VDC 或 60VAC。
对非隔离输入模板,则必须建立 Mana 与 M 之间的连接。 为抑止信号地 M-与 Mana 之间 的共模干扰,不同传感器的接地方式不同,限于篇幅以及图解困难,难以细说。一般原则是, 建立信号地与模板的地、模板地与(CPU)系统地的连接。如果有干扰环流,则将取消模 板地与系统地的连接,让模拟地悬浮。另外,屏蔽推荐双端接地,如果有干扰环流,则改为 单端。
4. cp342-5 的放置位置有要求吗?放在轨道的什么地方最合适
问:cp342-5 的放置位置有要求吗?放在轨道的什么地方最合适?
答:CP342-5 工作原理是, 首先通过硬件配置将各 DP 子站的分布 I/O 映射到 CP342-5 的内 存,然后再通过 FC1(DP_SEND)、FC2(DP_RECV)实现 CPU 与 CP342-5 的数据交换。数据 传递的过程如下:
FC1
CPU 内存————->CP342-5 ——————->DP 子站的输出
FC2
CPU 内存<————-CP342-5 <——————-DP 子站的输入
程序中我们控制的只是 CPU 与 CP342-5 之间的通讯,而子站与 CP342-5 的数据交换是由
CP342-5 根据硬件配置自动完成的。
关于 cp341 与 MM440 通讯
问:我用 s7-300(cp341)与 MM440 的 com 口(29 30)通讯控制变频器2 个 PZD,4 个 PKW 具体参数设置如下:
P003=3700=51000=52011=12012=22013=4;其他参数采用工厂设置。
仿照 USS-S7 中的例程进行编程;但是只能向变频器发送 PZD 参数(控制字 1 和主设定值), 但不能返回任何参数。CP341 的指示灯只显示不断发送,接受灯不亮。在数据块 dbnd(DB100)中的 DBW6(通讯状态字)的值为 0200;DBW8(通讯故障字) 的值为 0080;不知是什么意思?
答:CP341(RS422/485)采用(RS485)ASCII 码协议。CP341 如果采用手册中的接线 方式(11+,4-)则 cp341 的接收发送灯同时亮,但是不能进行数据传输;如果接线为(9+,2-)则出现前述情况,即只能向变频器发送 PZD 参数(控制字 1 和主设定值),但不能返回 任何参数。如果你只接了 9、2 的话,现象则说明你的参数设置没有问题。在 4 线方式下,9、2 是发送 端。11、4 是接受端,没有接线自然没有数据返回。
对 MM440 应该用 2 线方式,接线是
11(CP341)————-29(mm440)
4(CP341)————-30(mm440)
且 2 与 4、9 与 11 要短接,你接了吗?
此外,在 PKW 中你的任务识别标记 ID 和参数号填对了吗?
5. 315-2DP 与 ET200M
问:通过 DP 相连,CPU 地址为 2,ET200M 地址为 5,硬件上地址设置正确。 在项目管理器 里把软硬件组态好了以后,把 SIMATIC300 STATION 传给 PLC,显示 SF 错误,ONLINE 情况下, OB1 不运行。
如果把 HARDWARE 再传一遍,则 SF 错误无,OB1 可运行,现在再把 SIMATIC300 STATION传给 PLC,则重新有 SF 错误。我原来以后,把 SIMATIC300 STATION 传给 PLC 一次,相当于软硬件组态都传一次,请 问各位高手,这样正常吗?
答:我想楼上的各位可能没有看清楚 royal 的问题:他通过 HARDWARE 下载+OB 下载, 没有问题,这样可以排除是组态和程序的问题。他只有在用 STATION 下载时才出现故障,SF 灯亮。所以原因不是很明确。我个人认为是不是 royal 并没有将 HARDWARE 进行“编译保存”,因此他的程序块内没有“SYSTEM BLOCKS”,所以才出现他所说的现象。请 royal 在试一试!
6. S7-300PID 的 FB41CONT_C 功能及参数设定
问:请教各位高手,本人现用到西门子 S7-300(CPU315)做整流系统的 PID 控制,具体 是由 AI 模块输入 4-20MA 信号(既 A 柜/B 柜饱和电抗器控制电流信号反馈和机组 A 柜/B 柜直流电流信号反馈),通过 CPU 调用 PID 功能块,实现自动闭环控制,最后由 AO 模块 输出一个 4-20MA 的信号给稳流系统(既 A 柜/B 柜电流给定反馈)。
现请教:1、具体应调用 S7 的 PID 中的哪些功能块。我是直接在 OB1 里边调用 FB41,不 知可否。
2、PID 标准块 FB41 的输入输出参数如何整定,PV_PER、SP_INT、PV_IN 有何区别。
3、GAIN、TI、TD 如何整定。
4、MAN_ON、PVPER_ON 怎么用,是直接在 FB41 的输入端写吗?
答:原理上,PID 的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要 求。这也就是 FB41 要在 OB35 中周期调用且 OB35 的周期要与 FB41 采样周期一致的原因。
当然,在 OB1 或其他 FC、FB 中调用 FB41 也是可以的,此时最好将 OB1 参数区中扫描周 期作为 FB41 的采样周期。
本人在管道恒流恒压的 PID 过程控制中,也曾在 FC 中无条件连续调用 FB41,PID 效果也 还令人满意。我个人认为,精度要求不高的应用中,简单调用也是可以的。
FB41 参数的设置很灵活,可根据自己的习惯或应用的方便选择。下面是一种方式。
MAN_ON :激活 PID 手动调节给定值 MAN 的使能位,可用 PID 手自动转换位来触发。 PVPER_ON :是 PID 输入输出参数“PERIPHERAL 化”的使能位,即将参数看成 0~27648 之间的整数。换个说法,就是 PID 的反馈值直接取自相应 AIW 通道,而 PID 输出则直接给 出到 AQW 通道。参数整定由 FB41 完成。可用调节装置的启动标志来触发本位。
MAN :PID 手动调节给定值,当“MAN_ON=1”时有效。
CYCLE :采样周期。根据物理量变化快慢定,一般要求与 FB41 执行的周期一致。
SP_INT:PID 的设定值。注意设定值与反馈值的单位一致。为了避免错误,建议将 SP_INT
转换为-100.0~100.0%之间无量纲的百分数,输入到 FB41 时,注意只取百分号之前的数即可。
PV_PER:PID 过程的反馈值,直接取自反馈量的 AIW 通道的 A/D 码。仅在“PVPER_ON=1”时有效。 GAIN:比例系数。 TI:积分时间。 TD:微分时间。
LMN_PER:PID 的调节输出,直接对应调节输出 AQW 通道。
设置了上述参数,基本的 PID 调节就可以实现了。根据需要再完善其他参数的设置,比如 死区的设定等。
利用 STEP7 中的 PID 赋值工具可形象快捷地完成参数设置,结果直接存入相应背景数据块,
FB41 调用时无须再赋值。
7. 除 300 中的密码
问:我在使用 CPU313C-2PTP 时,往 PLC 里下了一个程序,开始还好使,可下载了几次之后, 竟然要求密码!本人申明,程序没加密,而且本人还不知如何加密!请问大虾, 如何清空PLC 的程序而不需要密码?
答:你需要对 MMC 卡进行格式化操作。格式化过程如下:
1. 将开关置为“MRES ”位置,并保持,直至 LED 停止闪亮(即直至大约 9 秒钟后永亮 着)。
2. 在随后的 3 秒内,释放开关,并再次切换为“MRES ”位置。STOP LED 现在闪亮, 指示正在进行格式化。
一定要使用规定的操作顺序。否则,MMC 就不能进行格式化,而是返回存储器复位状态。 我建议你在
http://www.ad.siemens.com.cn/download/manual/as.asp 上下载 S7-300C 的所有资料仔 细读一读 才进行以 上操作, 在《 S7-300 可编程控制器 CPU 312C 至314C-2DP/PtP CPU 技术参数》一书上有此操作的详细说明,并有注意事项!请注意。
8. 00 的 L 指令
问:L 指令装一个立即数(常数)到 ACCU1L 1
如何表达我这个装入的数是 Byte? Word? DWord? S7300 还未入门,请高手指教!
答:在装入的时候,如果被装入的数太短,达不到 4BYTE(大多情况这样),则在装入的 时候,会自动填 0而在取出的时候,如果目标是 4BYTE,则全盘复制,如果短了,就只复制需要的长度,另外的就被抛弃了,其实被抛弃的部分一般是 0 的,编程时候需要知道的。 比如 L L#16#01020304,这是一个 32 位的 DWORD然后 T MW0,长出的部分被丢掉,最终 MW0 的内容为 16#0304 除非有意这样做,否则做之前是要保证数据没有溢出的。否则计算就乱套了。 反过来,L 16#FFFE (INT -2)T MD0则 MD0 的值为 L#16#0000FFFE (DINT 65534) 数据虽然没有溢出,但数据格式不能继承了。 这种时候,分别需要 DTI 和 ITD 命令进行转换。
至于 200 里面的 MOVB,MOVW,MOVD 等的命令,我想,在 300 里面它是自动的,根据目 标数的尺寸,自动实现不同的 MOVE 功能,与 200 对应。
9. SB 接口和 S7-200 及 S7-300 连接的体会
我最近换了一个新笔记本,没有串口,最后发现它不能和 S7-200 及 S7-300 连接,急得我只冒汗(差一点儿吐血了),不过最终都搞好了,现把我的体会说一下,以供大家参考。
S7-200 连接过程:
1:安装 200 软件,连接,不行。
2:在本网站上下载延时补丁程序,安装后连接,不行。
3http://www4.ad.siemens.de/WW/lli ... lang=en&objId=7
843251 下载了一个延时程序,安装,行!
S7-300 连接过程(版本为 step7-5.2):
1:安装 300 软件,连接,不行。
2:查看各种资料、检查各种设置、咨询各种人员、连接,不行。
3:最后安装 windows2000 的补丁程序(SP2),连接,行(好高兴啊!) 综上所述:
1:先要保证你的 USB 口转串口在硬件上和软件上(就是驱动)没有问题。
2:200 要下载能解决问题的延时补丁程序。
3;300 要下载合适的电脑操作系统的补丁程序。
.
10. lc 程序的下载问题
问:在一个网络中(比如 profibus),有多个 plc,在 step7 中硬件组态中也有 多个 plc,所编程序是整个网络系统的程序,那么程序下载的时候,如何确定哪 些程序被下载到哪一个 plc 中?
答:MPI 网络中多个 CPU(S7-300/400)及 HMI PANEL(WINCE BASED)的程序下载
1. 按照你所需要的网络,完成硬件安装及通讯线的连接.
2. 对所有的 CPU,默认地址都是 2,所以可以分别上电,下载硬件配置与程序.
3. 对于 PANEL 可以通过其控制面板的 S7-TRANSFER 设置网络地址,然后通过 MPI 网络直接下载 PANEL 的组态程序.注意,此时 S7-TRANSFER 中的’ONLY MASTER ON THE BUS’不能被 选中.
4. 当使用 CP5511/5611 以点对点的方式对 PANEL 下载程序时,S7-TRANSFER 中的’ONLY MASTER ON THE BUS’必须被选中。