资讯动态

S7-200 SMART PLC应用教程:选型接线、编程通信与案例实战

发布时间:2026/9/18 16:01:57 来源:尧图企业网站定制
简介这份由廖常初主编的《S7-200 SMART PLC 应用教程》电子课件面向自动化、电气控制方向的在校学生、培训学员与授课教师用于系统建立西门子 S7-200 SMART 系列 PLC 的入门知识框架。压缩包内共 1 个文件为 ppt 演示文稿体积约 10.36MB章节完整、图文并排可直接用于课堂讲授或自学翻阅。课件覆盖硬件结构、编程软件与存储器三大板块CPU、I/O 模块、电源及 STEP 7-Micro/WIN SMART 的组成标准型 SR/ST 与经济型 CR 系列的区别、4 种信号板与数字量、模拟量扩展模块RAM、ROM、EEPROM 的断电保持特性模拟量量程与物理量换算例题等并配有教材原图辅助理解。目前已有 341 人学习使用适合零基础入门与复习巩固也可作为教师编写教案、安排学时与实验内容的参考。1. S7-200 SMART PLC 应用教程电子课件适合谁、讲什么很多人第一次拿到 S7-200 SMART PLC 应用教程电子课件第一反应是翻目录看它有没有覆盖自己手头的项目。但真正决定学习效果的不是课件页数而是有没有一台能通电的 CPU 和一根网线。S7-200 SMART 是西门子小型自动化产品线里的主力机型本体集成以太网口支持 Modbus RTU 主从站、S7 通信和 TCP点数从 20 点到 60 点不等还能挂 6 个扩展模块。这套应用教程通常覆盖硬件选型、I/O 接线、梯形图编程、通信配置和典型控制案例适合刚入行的电气工程师、自动化专业学生以及从继电器控制转向 PLC 控制的设备维修人员。课件能把知识框架铺开但每个指令的时序和每个参数的边界最终要在实机上跑一遍才算数。2. S7-200 SMART 硬件选型、I/O 接线与 NPN/PNP 输入2.1 CPU 型号与扩展模块的选型依据S7-200 SMART 的 CPU 模块主要分 CR、SR、ST 三个系列。CR 是继电器输出SR 也是继电器输出但本体点数不同ST 是晶体管输出。选型时先看输出负载电磁阀、接触器线圈这类感性负载用继电器输出步进驱动器、伺服脉冲口这类高频开关用晶体管输出。再看点数数字量输入输出各预留 20% 的余量模拟量通道按实际传感器数量加一路备用。型号本体 I/O输出类型高速脉冲扩展模块数CR20s12DI/8DO继电器无6SR2012DI/8DO继电器无6ST2012DI/8DO晶体管2路100kHz6SR4024DI/16DO继电器无6ST4024DI/16DO晶体管3路100kHz6SR6036DI/24DO继电器无6扩展模块分数字量输入、数字量输出、模拟量输入输出和温度模块。模拟量模块的型号带 A 后缀比如 EM AE04 是 4 路模拟量输入。选扩展模块时注意背板总线供电CPU 能提供的 5V 背板电流有限挂满 6 个模块时要用软件里的资源计算器核对。提示ST 系列晶体管输出分源型和漏型订货时看清尾缀。驱动 NPN 输入的伺服驱动器要选漏型输出。2.2 数字量输入接线NPN 与 PNP 传感器怎么接S7-200 SMART 的数字量输入是双向的既可以接漏型NPN传感器也可以接源型PNP传感器区别在于公共端 1M 接 24V 还是接 0V。NPN 传感器输出低电平有效公共端 1M 接 24VPNP 传感器输出高电平有效公共端 1M 接 0V。接反了输入指示灯不会亮但不会烧模块。下面是一段用 STL 写的输入点检测逻辑用来快速验证接线是否正确// 检查 I0.0 到 I0.3 的输入状态 // 对应输出 Q0.0 到 Q0.3 Network 1 LD I0.0 Q0.0 Network 2 LD I0.1 Q0.1 Network 3 LD I0.2 Q0.2 Network 4 LD I0.3 Q0.3逻辑说明每个输入点直接映射到同编号的输出点按一下传感器对应的输出继电器动作说明接线和地址都正确。参数说明I0.0 是第一个输入字节的第 0 位Q0.0 是第一个输出字节的第 0 位。如果输入灯亮但输出不动作检查程序是否下载、CPU 是否处于 RUN 模式。2.3 模拟量模块的接线与量程配置模拟量输入模块常见的有 EM AE04、EM AE08支持电压 0-10V、±10V 和电流 0-20mA、4-20mA。接线时电压信号接 V 和 M电流信号接 I 和 M量程通过模块上的 DIP 开关或软件里的系统块设置。4-20mA 信号对应的内部数值是 5530 到 276480-10V 对应 0 到 27648。把原始值转换成工程值的常用做法是// AIW0 转工程量量程 4-20mA 对应 0.0-100.0 // 5530 对应 0.027648 对应 100.0 LD SM0.0 ITD AIW0, VD100 // 整数转双整数 DTR VD100, VD104 // 双整数转实数 MOVR 5530.0, VD108 -R VD108, VD104 // 减去零点偏移 MOVR 22118.0, VD112 // 27648-553022118 /R VD112, VD104 // 除以量程跨度 MOVR 100.0, VD116 *R VD116, VD104 // 乘以工程上限 MOVR VD104, VD120 // 结果存入 VD120逻辑说明先用 ITD 把 16 位整数扩展成 32 位双整数再转成实数减去零点偏移后除以量程跨度最后乘以工程上限。参数说明VD100 到 VD120 是连续的实数存储区不能和别的变量冲突。如果读数跳动大在系统块里把模拟量输入滤波设成 64 个周期。3. S7-200 SMART 梯形图编程与数据类型实战3.1 位、字节、字、双字S7-200 SMART 的数据类型映射S7-200 SMART 的存储区按位、字节、字、双字组织。位地址写成 I0.0、Q0.1、M0.2、V0.3字节地址写成 IB0、QB0、MB0、VB0字地址写成 IW0、QW0、MW0、VW0双字地址写成 ID0、QD0、MD0、VD0。注意地址重叠VB0 包含 V0.0 到 V0.7VW0 包含 VB0 和 VB1VD0 包含 VW0 和 VW2。写程序时别把同一个双字的不同部分同时当独立变量用。数据类型位数范围典型用途BOOL10/1按钮、限位、线圈BYTE80-255状态字、ASCII 字符WORD160-65535定时器预设、计数器INT16-32768-32767模拟量原始值DWORD320-4294967295高速计数DINT32-2147483648-2147483647累计产量REAL32浮点数工程值、PID3.2 梯形图基本指令从自锁回路到定时器起保停是梯形图里最基础的自锁回路。启动按钮 I0.0 并联输出 Q0.0停止按钮 I0.1 用常闭触点串联。下面是用 STL 表达的同一个逻辑// 起保停控制启动 I0.0停止 I0.1输出 Q0.0 Network 1 LD I0.0 O Q0.0 AN I0.1 Q0.0逻辑说明LD 加载 I0.0O 并联 Q0.0 形成自锁AN 串联 I0.1 的常闭最后输出到 Q0.0。按下启动Q0.0 得电并自锁按下停止自锁断开。参数说明停止按钮接常闭触点时程序里用 AN I0.1如果接常开触点程序里改成 A I0.1。定时器用 TON 指令分辨率有 1ms、10ms、100ms 三档编号 T0 到 T255。TON 的预设值 PT 是 INT 类型最大 32767。100ms 定时器 T37 设定 50 就是 5 秒。定时器当前值存在 T37 的字里比较当前值可以用 T37 或 T37。3.3 子程序与参数传递把重复逻辑封装起来多台电机同样的启停逻辑写成子程序带参数调用比复制粘贴更可靠。S7-200 SMART 的子程序可以带形参形参类型有 IN、OUT、IN_OUT 和 TEMP。下面是一个带参数的电机控制子程序// 子程序 SBR_0形参Start(I)Stop(I)Motor(Q) // 主程序调用CALL SBR_0, I0.0, I0.1, Q0.0 LD #Start O #Motor AN #Stop #Motor逻辑说明子程序内部用局部变量 #Start、#Stop、#Motor 代替具体地址主程序调用时把实际地址传进去。同一段逻辑可以反复调用改逻辑只改子程序。参数说明IN 类型形参只读OUT 类型形参在主程序里必须是全局地址TEMP 类型是临时变量每个扫描周期清零。注意子程序嵌套最多 8 层带参数子程序的调用指令在 Micro/WIN SMART 的指令树里找“调用子程序”。4. S7-200 SMART 通信实战Modbus RTU 与以太网4.1 Modbus RTU 主站配置读变频器频率S7-200 SMART 做 Modbus 主站用 MBUS_CTRL 初始化和 MBUS_MSG 收发。MBUS_CTRL 在第一个扫描周期调用一次MBUS_MSG 用轮询方式逐条发。下面是以 9600 波特率、8 数据位、1 停止位、无校验读 1 号变频器频率的代码// Modbus 主站初始化端口 09600bps无校验 Network 1 LD SM0.0 CALL MBUS_CTRL, Mode:1, Baud:9600, Parity:0, Timeout:1000, Done:M0.0, Error:MB1 Network 2 // 读 1 号从站保持寄存器 40001长度 1存入 VW100 LD M0.0 AN M0.1 CALL MBUS_MSG, First:M0.1, Slave:1, RW:0, Addr:40001, Count:1, DataPtr:VB100, Done:M0.2, Error:MB2逻辑说明MBUS_CTRL 的 Mode1 表示主站Timeout 单位是毫秒。MBUS_MSG 的 RW0 表示读Addr40001 是 Modbus 保持寄存器地址DataPtr 指向存放结果的 V 存储区。Done 位在收发完成后置 1Error 返回错误码。参数说明Baud 支持 1200 到 115200Parity0 无校验、1 奇校验、2 偶校验。如果 Error 返回 3检查从站地址和波特率是否一致。4.2 以太网通信S7 协议与 TCPS7-200 SMART 本体自带以太网口支持 S7 协议、TCP 和 ISO-on-TCP。上位机通过 S7 协议读写 V 存储区不需要在 PLC 里写通信程序只要在系统块里配置 IP 地址和连接资源。用 Python 的 snap7 库读写 VW100 的代码如下import snap7 # 连接 S7-200 SMART机架 0槽 1 plc snap7.client.Client() plc.connect(192.168.2.1, 0, 1) # 读 VW100 两个字节 data plc.read_area(snap7.types.Areas.DB, 1, 100, 2) value int.from_bytes(data, byteorderbig, signedTrue) print(VW100 , value) # 写 Q0.0 为 1 plc.write_area(snap7.types.Areas.PE, 0, 0, bytes([0x01])) plc.disconnect()逻辑说明S7-200 SMART 的 V 存储区在 snap7 里映射为 DB1VW100 对应 DB1 偏移 100、长度 2。写输出点用 Areas.PE偏移 0 就是 Q0.0。参数说明connect 的第二个参数是机架号第三个是槽号S7-200 SMART 固定为 0 和 1。读输入用 Areas.PE 也可以但通常读 V 区就够。4.3 上位机与 WinCC、C# 关联 PLC 变量WinCC 关联 S7-200 SMART 变量走以太网 S7 驱动新建连接时选“SIMATIC S7-200 SMART”填 PLC 的 IP 和机架槽号。变量地址写法是 VW100、VD200、M0.0 这样WinCC 会自动转换成 S7 协议请求。连不上时先 ping PLC 的 IP再看系统块里有没有勾选“允许来自远程对象的 PUT/GET 通信访问”。C# 通过 S7.Net 读写同样的地址using S7.Net; // 创建连接 Plc plc new Plc(CpuType.S7200Smart, 192.168.2.1, 0, 1); plc.Open(); // 读 VW100 short vw100 (short)plc.Read(DB1.DBW100); Console.WriteLine(VW100 vw100); // 写 M0.0 plc.Write(M0.0, true); plc.Close();逻辑说明CpuType 选 S7200SmartRead 方法的地址字符串用 DB1.DBW100 表示 VW100用 M0.0 表示位地址。参数说明Open 方法内部走 TCP 102 端口默认超时 2 秒。如果抛异常检查 PLC 的 IP 是否同网段、防火墙是否放行 102 端口。提示S7-200 SMART 的以太网连接建立时间通常在 1 到 3 秒比串口快很多。连接资源有限同时连接的客户端不要超过 8 个。5. S7-200 SMART 典型案例变频器控制、星-角降压启动与伺服5.1 一台 PLC 控制多台变频器的 Modbus 轮询设计一台 S7-200 SMART 通过 Modbus RTU 控制 32 台变频器通信口只有一个必须轮询。轮询的核心是同一时刻只发一条 MBUS_MSG上一条 Done 或 Error 置位后再发下一条。用步序号 S 和完成标志 M 做状态机// 轮询状态机Step 0 到 31 对应 1 到 32 号变频器 // M10.0 为当前步完成标志 Network 1 LD SM0.0 MOVW #Step, VW200 // 当前步号 Network 2 // 步 0 读 1 号变频器频率 LD M0.0 // 初始化完成 AW VW200, 0 AN M10.0 CALL MBUS_MSG, First:M10.0, Slave:1, RW:0, Addr:40001, Count:1, DataPtr:VB1000, Done:M10.1, Error:MB3 Network 3 // 步 1 读 2 号变频器频率 LD M10.1 AW VW200, 1 AN M10.0 CALL MBUS_MSG, First:M10.0, Slave:2, RW:0, Addr:40001, Count:1, DataPtr:VB1002, Done:M10.2, Error:MB4逻辑说明每个步用一个 MBUS_MSGSlave 参数换成对应的从站号DataPtr 指向不同的 V 区偏移。当前步完成后置位下一步32 步循环。参数说明轮询间隔由 Timeout 和从站响应时间决定9600 波特率下每步约 20 到 50ms32 台轮一圈约 1 到 2 秒。如果某台从站掉线Error 置位后跳过该步避免卡死。5.2 星-角降压启动的梯形图逻辑星-角降压启动用于大功率电机启动时定子绕组接成星形转速上来后切换成三角形。主回路有三个接触器主接触器 KM1、星接触器 KM2、角接触器 KM3。控制逻辑要保证 KM2 和 KM3 不能同时吸合切换时留 50 到 100ms 死区。// 星-角降压启动启动 I0.0停止 I0.1 // KM1Q0.0KM2Q0.1KM3Q0.2 Network 1 LD I0.0 O M0.0 AN I0.1 M0.0 Network 2 // 主接触器 LD M0.0 Q0.0 Network 3 // 星接触器延时前吸合 LD M0.0 AN T37 Q0.1 Network 4 // 角接触器延时后吸合与星互锁 LD M0.0 A T37 AN Q0.1 Q0.2 Network 5 // 星-角切换延时5 秒 LD M0.0 TON T37, 50逻辑说明M0.0 是启动保持位Q0.0 主接触器跟随。T37 是 100ms 定时器设定 50 就是 5 秒。前 5 秒 Q0.1 星接触器吸合5 秒后 Q0.1 断开、Q0.2 角接触器吸合。Network 4 里的 AN Q0.1 是硬件互锁之外的软件互锁。参数说明切换死区由定时器精度决定100ms 定时器最小死区一个扫描周期实际接触器动作时间约 50ms建议在 Q0.1 断开和 Q0.2 吸合之间加一个 100ms 定时器。5.3 伺服与步进控制高速脉冲输出和运动控制S7-200 SMART 的 ST 系列晶体管输出支持高速脉冲最多 3 路 100kHz。控制步进或伺服驱动器用 PTO 指令发脉冲用 PWM 指令调占空比。PTO 的配置在运动控制向导里做设置脉冲数、频率、加减速时间生成 AXISx_CTRL、AXISx_GOTO 等子程序。// 运动控制向导生成的子程序调用 // AXIS0_CTRL 使能轴AXIS0_GOTO 走相对位置 Network 1 LD SM0.0 CALL AXIS0_CTRL, EN:1, Done:M1.0, Error:MB5 Network 2 LD I0.2 CALL AXIS0_GOTO, EN:1, Start:1, Position:50000, Speed:10000, Mode:0, Done:M1.1, Error:MB6逻辑说明AXIS0_CTRL 每个扫描周期调用使能轴并输出当前状态。AXIS0_GOTO 在 I0.2 按下时触发走 50000 个脉冲速度 10000 脉冲/秒Mode0 表示相对定位。参数说明Position 是 DINT 类型最大 ±2147483647Speed 受限于驱动器最大频率和 CPU 脉冲输出能力。接线时注意脉冲输出点 Q0.0 和方向输出点 Q0.1 的分配在运动控制向导里指定。注意继电器输出的 CR/SR 系列不支持高速脉冲做伺服控制必须选 ST 系列。6. S7-200 SMART 调试技巧与连接时间优化在线调试时Micro/WIN SMART 的状态图表比梯形图监控更省资源。状态图表可以同时监视多个地址比如 VW100、VD200、M0.0刷新周期设成 100ms 或 1s。连接时间方面以太网连接通常在 1 到 3 秒完成串口 PPI 连接要 5 秒以上所以调试优先用网线。如果连不上先看 CPU 的 IP 是不是 192.168.2.1 这个出厂地址电脑网卡改成同网段再用 ping 确认链路。资源使用情况的查看在 Micro/WIN SMART 的“PLC”菜单里选“信息”能看到程序存储区、V 存储区、定时器、计数器的已用和剩余。博途用户如果做 S7-1200/1500在“在线和诊断”里看资源S7-200 SMART 没有博途支持别把两者的菜单混着找。交叉引用表用来查地址冲突比如 VD100 和 VW100 重叠状态图表里同时显示会互相干扰。Modbus 轮询的常见坑是超时设得太短。9600 波特率下读一个保持寄存器大约 10ms 到 20msTimeout 设 1000ms 足够。如果从站掉线Error 返回 6 表示从站无响应这时要跳过该步而不是重试否则整个轮询卡死。轮询步数多的时候把每步的 DataPtr 指向不同的 V 区用指针递增比写 32 个 CALL 更简洁。输入滤波和输出晶体管选型也容易踩坑。数字量输入默认滤波 6.4ms接编码器或高速传感器时改小到 0.2ms但滤波太小会引入抖动。晶体管输出分漏型和源型驱动 NPN 输入的光耦要选漏型输出的 CPU驱动 PNP 输入的选源型。最后程序下载后别忘了把 CPU 拨到 RUN 模式STOP 模式下所有输出都会断开现场的接触器会全部释放。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价