以文本方式查看主题

-  曙海教育集团论坛  (http://sun4.cn/bbs/index.asp)
--  PLC编程系列  (http://sun4.cn/bbs/list.asp?boardid=59)
----  关于“PLC编程系列技...”的内容  (http://sun4.cn/bbs/dispbbs.asp?boardid=59&id=2307)

--  作者:wangxinxin
--  发布时间:2010-12-9 9:09:40
--  关于“PLC编程系列技...”的内容
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=3图片点击可在新窗口打开查看700=5图片点击可在新窗口打开查看1000=5图片点击可在新窗口打开查看2011=1图片点击可在新窗口打开查看2012=2;P2013=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 连接过程:
    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\'必须被选中。

  11. 300 中,如何实现 S7-200 中 SM0.3 的功能
  问:在 S7-300 中,如何实现 S7-200 中 SM0.3 的功能?:即开机后进入 RUN 状态,ON 一个 扫描周期,请各位赐教.
  答:你必须在 OB100 中调用 SFB21  “RESUME”,原理及注意事项如下。
  If there is a rising edge at control input REQ, SFB 21 "RESUME" activates a hot restart on the remote device selected with the ID.
  The following conditions must be met if the remote device is a CPU:
  1、The CPU must be in the STOP mode.
  2、The key switch of the CPU must be set to "RUN" or "RUN-P."
  3、When you created the configuration with STEP 7, you allowed for a manual hot restart.
  4、There must be no condition preventing a hot restart.
  Once  the  hot  restart  has  been  completed,  the  device  changes  to  the  RUN  mode  and sends  a  positive  execution  acknowledgement.  When  the  positive  acknowledgement  is evaluated, the status parameter DONE is set to 1. Any errors that occurred are indicated in the status parameters ERROR and STATUS.
  A restart can only be activated again in the same remote device after the previous hot restart has been completed.

  12.  关于 IM153-2 配置
  问:我的 S7-400H 系统中 IM153-2 的定货型号是 6ES7153-2AR00-0XA0,但是在 S7V52 中 HW CONFIG 里无法找到此型号的模块,请问是不是最新产品 在如何硬件配置里如何处理?
  答:由于是冗余配置,6ES7153-2AR00-0XA0 是由两块 6ES7153-2AA02-0XB0 组成。硬 件配置时插入 6ES7153-2AA02-0XB0。

  13.  一些奇怪的问题
  问:1、能不能用 WINCC 直接控制 ET200S?不用任何 PLC,系统的功能很简单,算法在 WINCC 中实现。现在的问题是 WINCC 能直接控制 ET200S 吗?(我在一个系统看到这样 的结构,不知道能不能实现)
  2、SFC15,SFC16 在读写智能从站时用,超过 4 个 BYTE 的话就需要 SFC15,SFC16? 如果我一个一个字节读的话(读很多个)是不是就没有这个限制了。
  答:请注意:S7-200 与 ET200S 是两个不同的东东。
  ET-200S 与 WINCC 连,方法:
  1、带 CPU 的 IM151+CP5611,原理过程与 S7-300 类似;
  2、如 SHINE  所说,cp5611/5613+SIMATIC  NET,原理过程与连 EM277  类似。通过 COM_PROFIBUS 将 CP5611/5613 定义成一类主站,并组态相应从站,从而实现对从站数 据的读写。如果有逻辑的话,需借助脚本语言。

  14. TP270 支持哪几种印表机
  问:TP270 支持哪几种印表机?你有具体的型号吗,另外在那能下载 OP270,TP270 的手 册。
  答:MP270,TP270,OP270 功能相近,资源配置略有差别。根据所配硬件,与打印机的 连接有三种方式:RS232、以太网、USB。其操作系统都是 WINDOWS  CE,因此所支持 的打印机与普通 PC 一样。如果通过以太网连打印机,则注意所买打印机必须支持网络打印。 下列标准是支持的串行打印机:
  ? 与 ESC/P、9  针 ESC/P  或 ESC/P2(EPSON)兼容 例如 EPSON FX850
  ? 与 PCL3 (Hewlett Packard)兼容
  HP LaserJet 5M
  USB  打印机仍可用于 PCL  和 Epson9  模式

  15.  两个 315-2DP 通过两个 CP343-1 通讯,如何设置成主站和从站?
  问:请问两个 315-2DP 通过两个 CP343-1 通讯,如何设置成主站和从站?
  答:CP343-1 是以太网卡,卡本身无所谓主从,因为以太网不是主从通讯机制。只有主从 机制的网络如 RS485 网,典型的有 PROFIBUS-DP,MPI,MODIBUS 等才分主从站。
  两 CP343-1 通讯,用 FC5(AG_SEND),FC6(AG_RESV)即可。具体某站用哪个函数,就看它是 读数据还 是写数据 。对 CP443-1  而言, 则用 FC50 ( AG_LSEND ),FC60(AG_LRESV)。

  16. 300PLC 中处于 STOP 状态应当执行什么 OB
  问:300PLC 中处于 STOP 状态应当执行什么 OB?
  答:300PLC 中采用事件触发 OB 来执行一些事件,比如通讯错误会使 PLC 处于 STOP 状 态而执行 OB87。如果程序正常,我手动使它处于 STOP 状态,PLC 会执行啥 OB?
  stop 状态只有系统软件在运行,你所编的 step7 程序不会运行的

  17.  内部 DB 位的问题
  问:在制作警报时,我使用了 DB14,按位进行检查,每一个是单独的置位,然后对整个双字进 行相关警报信息换算, 现在在 DB14.DBX2.7,DB14.DBX10.7,这两个位出现了异常,在 LAD 中 被作为线圈输出,当被置位时,他俩为 0,在非置位是却是为 1.和应该出现的位的现象相反, 但其他位都正常,后来只有换掉这两个位,以前用 DB1 也有出现这个情况 DB1.DBX2.7, 后来 也是换掉的!  请各位指点。
  答:这段程序是实现集中报警很好的办法。 有新报警,则报警。但如有旧报警消失,则不反应。 不要使用双整数进行比较,而要使用
  word,但运算符号为双字的
  l mw2
  l mw2_sav
  >DI
  =ERROR

  18. S7-300 中的 FC105 模块中的 27648 是如何得来的?
  问:S7-300 中的 FC105 模块中的 27648 是如何得来的?
  答:27648=16#6C00 SIEMENS 自己定义的,在其之上到 65535(7ffff),是非线性段,可以 使用,但精度差点。

  19.  关于 GD 通信问题!
  问:我想用 MPI 连接两个 CPU315 和 CPU313,采用 GD 通信方式。书上说,step7 里的 option
  项下的 define Global data 是灰的,不能用。请问谁知道是怎么回事?我用的 step7 版本是
  5.1。是不是缺补丁?还是我用的不对?盼回音!
  答:CPU 的 MPI 必须为“YES”,再组态 MPI 总线即可。