查看: 1|回复: 0

S7技术要点与现场经验总结,附实际案例说明

[复制链接]

6

主题

0

回帖

22

积分

新手上路

积分
22
发表于 昨天 22:04 | 显示全部楼层 |阅读模式
平时答疑中经常碰到这方面的问题,趁周末把资料整理成文,供各位参考。

手上这套 S7-200 SMART 的程序跑了三年,最近正式开始往 S7-1200 + 博途 V20 上搬。搬之前我以为只是"换个软件重画一遍",真动手才发现是换了一整套思维方式:原来靠向导点出来的东西,现在要建工艺对象;原来随手写的 V 区,现在要规划数据块。

边改边记,整理了一份自己正在用的对照清单,欢迎各位补充踩坑经验。

一、存储结构:先想清楚数据放哪,再动程序

S7-200 SMART 只有 V 区,S7-1200 没有 V 区,对应的是全局 DB 或 M 区。这一步必须在写第一行程序之前定下来,否则后面全是返工。

我的做法是按功能划 DB:DB_IO(I/O 映射与状态位)、DB_Para(工艺参数,设保持性)、DB_Alarm(报警字)、DB_Comm(通信缓冲区)。保持性不再靠"系统块里勾选保持范围",而是打开 DB 属性勾"保持性"。

二、程序结构:SBR / INT 全部要重新归位

子程序 SBR → FC(无记忆)或 FB(有静态变量)。以前靠全局 V 区传参的习惯要改,改成 FB 的 In/Out/Static。

中断程序 INT → 对应的 OB:主循环 OB1、循环中断 OB30/OB35(PID 和高速处理放这里)、硬件中断 OB40、启动 OB100。

一个坑:S7-200 SMART 里"主程序调用子程序"的执行顺序就是扫描顺序,搬到 1200 后 OB 的优先级关系必须重新理一遍,尤其是循环中断里别再调用带阻塞的通信指令。

S7-200 SMART

S7-1200(博途 V20)

EU / ED

P_TRIG / N_TRIG(或用 R_TRIG / F_TRIG 带实例)

T37(100ms 时基)

TON + 背景 DB,预设值写 T#100ms 这类时间字面量

CTU / CTD

CTU / CTD / CTUD,同样带实例

SM0.0 / SM0.1 / SM0.5

始终接通 / 首次扫描位 / 启用"时钟存储器"字节后取位

时钟存储器这一步特别容易漏:SM0.5 在 200 SMART 里天生就有,1200 要在 CPU 属性里手动勾选并指定存储字节,不勾就是全 0,闪烁程序直接不动。

模拟量原始值范围两边都是 0~27648,这点没变,但处理方式建议换成 NORM_X + SCALE_X,量程和工程单位写在指令参数里,比手写线性公式好维护。通道地址按模块的实际 I 地址排,别再沿用 AIW 的编号习惯。



高速计数:200 SMART 用 HSC 向导生成一堆 HSCx_CTRL 之类的子程序;1200 要么用 CTRL_HSC 配合设备组态里的 HSC 通道,要么直接建 TO_HSC 工艺对象。如果原来靠 HSC 做定长切割,建议顺手评估一下换成运动控制工艺对象会不会更省事。

这是我认为差异最大的一块。200 SMART 的运动向导会生成 AXISx_CTRL、AXISx_MOVE 这一套子程序,参数都是填表;1200 要建 TO_PositioningAxis,然后调 MC_Power、MC_Reset、MC_Home、MC_MoveAbsolute、MC_MoveRelative,状态机要自己管,MC_Power 的使能顺序错了轴根本不动作。

好处是诊断信息比原来细得多,坏处是第一次做的时候会怀疑人生。

S7 通信:GET / PUT 名字一样但语义不同,需要在网络视图里建 S7 连接,填 TSAP,不建连接直接调用会报错。

Modbus RTU:MBUS_CTRL / MBUS_MSG 换成 MODBUS_COMM_LOAD / MB_MASTER(或 MB_MASTER 系列指令),轮询逻辑要按"一次只能有一个未完成请求"重写,原来的轮转表不能照抄。

Modbus TCP:MB_CLIENT 需要 CONNECT 参数指向一个 TCON_IP_v4 结构,连接 ID 要唯一。

用 M 点当中间变量满地图乱飞 → 1200 里建议全部落到 DB,M 区只留少量跨块标志。

靠指针 &VB100 + *VD 做间接寻址 → 改成 ARRAY + 变址,或 FieldRead / FieldWrite。

一个 FC 里塞两百行 → 拆成 FB,顺便把注释补上,博途的交叉引用查起来才舒服。

目前我卡在运动控制的状态机和 Modbus 轮询的重写上,前者是思路问题,后者是耐心问题。

最后问一句:你们从 200 SMART 往 1200 搬的时候,踩得最狠的是哪个坑?是定时器时基、还是通信连接?欢迎在楼下补充,我整理进第二版清单。

内容整理自一线实践,如有不足之处,欢迎各位批评补充。
回复

使用道具 举报

关注公众号
Archiver|手机版|小黑屋|工控学习网

相关侵权、举报、投诉及建议等,请发 E-mail:gkket@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|苏ICP备2026023666号-3|苏公网安备32131102000976号

在本版发帖
关注公众号
QQ客服返回顶部