2026/10/16 3:03:22

PLC编程基础与仿真笔记:S7-PLCSIM仿真变量必须选M不选IQ、起保停梯形图仿真、进制字节字双字原反补码BCD与或非、IEC61131-3五种语言及LAD/FBD/SCL选择(含考点)

PLC编程基础与仿真笔记:S7-PLCSIM仿真变量必须选M不选IQ、起保停梯形图仿真、进制字节字双字原反补码BCD与或非、IEC61131-3五种语言及LAD/FBD/SCL选择(含考点) 本文整理《PLC 编程基础与仿真技术》一课。这是在 S7-1200 硬件认识、启保停实训之后的一节编程入门与上机仿真课内容分三部分第一部分讲博途TIA Portal配套仿真软件 S7-PLCSIM 的使用重点是仿真时变量类型必须选M中间变量而不能选 I/Q这一最常见错误并用起保停电路做仿真演示第二部分复习 PLC 编程所必需的数字编码与逻辑运算基础——二进制/十六进制、字节/字/双字、原码反码补码、BCD 码、与或非第三部分讲IEC 61131-3 标准的五种编程语言重点对比 S7-1200 使用的 LAD梯形图、FBD功能块图、SCL结构化文本三种语言及其适用场合、新建程序块时如何选择语言。文末附仿真步骤表、语言对比表、待核对清单和主动回忆题含答案要点。一、核心结论博途配套的S7-PLCSIM 仿真软件课程使用 V16/V20 等版本可以仿真 S7-1200 的绝大部分指令、几乎支持 S7-PLC 的全部常用指令使学习者在没有 PLC 实物的情况下也能快速熟悉指令和元件、验证程序逻辑。仿真最关键的易错点在 S7-PLCSIM 仿真环境中修改变量时变量类型必须选M中间变量/位存储器若选I输入或 Q输出程序将无法被仿真驱动、运行不出来。而在实物 PLC上则可以正常使用 I0.0、I0.1、Q0.0 等 I/Q 地址。I、Q、M 三类变量I 是输入接按钮、传感器等实物由外部信号驱动、Q 是输出接接触器线圈、指示灯等执行元件、M 是中间变量中间继电器/位存储器仿真时没有真实外部信号只能靠把 M 位置 0/置 1 来模拟输入故必须改用 M。仿真操作流程安装并启动 S7-PLCSIM → 在博途中搜索、配对并启动模拟仿真平台 → 把编写好的程序下载到仿真模块启动模块→ 在仿真界面用鼠标改变 M 变量的 0/1 状态即可观察线圈、触点的得电/失电完成功能验证实物调试时则用网线或无线把程序下载到真实 PLC。起保停仿真现象按下启动按钮使对应位置 1→ 输出线圈得电梯形图中得电的导线/线圈显示为绿色与启动按钮并联的自锁自保持触点闭合维持线圈得电并进一步控制主回路接触器、驱动电动机按下停止按钮 → 线圈失电、自锁解除整条线路断电。必须能读懂的经典继电器/梯形图控制电路点动控制、连续长动/起保停控制、三相异步电动机正反转控制起保停的核心是启动常开按钮 与之并联的自锁常开触点 串联的停止常闭按钮。数字基础二进制按权展开、二进制与十六进制相互转换4 位二进制对应 1 位十六进制权为 8421字节 Byte 8 位、字 Word 2 字节 16 位、双字 DWord 2 字 4 字节 32 位程序中用前缀区分常数进制如 2# 表示二进制、16# 表示十六进制。原码、反码、补码最高位为符号位0 表示正、1 表示负正数的原码、反码、补码完全相同负数的反码是符号位不变、数值位按位取反负数的补码是其反码末位加 1。计算机内部有符号数一般用补码表示和运算。BCD 码用 4 位二进制数表示 1 位十进制数8421BCD每一位范围为 0000~1001对应十进制 0~9可方便地表示年月日、计数等十进制信息。三种基本逻辑运算与梯形图触点一一对应与运算 常开触点串联两者都为真输出才真、或运算 常开触点并联任一为真输出即真、非运算 常闭触点输入 0 输出 1、输入 1 输出 0多个触点串并联可实现复杂逻辑。PLC 编程语言遵循国际电工委员会IEC 61131-3标准共五种LAD 梯形图、STSCL结构化文本、FBD 功能块图、IL 指令表、SFC 顺序功能图S7-1200 在博途中主要使用LAD、FBD、SCL 三种。LAD 梯形图最直观、最接近继电器控制电路适合实现简单逻辑控制如起保停并配有通电延时定时器TON、断电延时定时器TOF、计数器等指令SCL 结构化文本类似 C、Java、Python 等高级语言用 If…Then、Case、For、While 等语句构建分支与循环适合复杂运算、算法和数据管理机械专业掌握 SCL 竞争力更强。在博途中添加新块函数 FC/函数块 FB时要为该块选择编程语言LAD 或 SCL 等程序块名称只能用英文可加数字如机械一二班起保停程序块需用英文命名。二、知识结构S7-PLCSIM 仿真软件作用、版本、下载与配对启动仿真 vs 实物的变量区别M 与 I/Q仿真操作步骤起保停仿真演示、经典控制电路读图数字编码基础二进制/十六进制转换字节、字、双字常数表示原码、反码、补码BCD 码基本逻辑运算与串联、或并联、非常闭复杂串并联逻辑IEC 61131-3 编程语言五种语言S7-1200 的 LAD/FBD/SCLLAD 与 SCL 对比与选择新建块选语言三、详细笔记3.1 S7-PLCSIM 仿真软件及其作用S7-PLCSIM 是博途TIA Portal配套的 PLC 模拟仿真软件课程演示使用了 V16、V20 等版本。它在计算机内部虚拟出一台 PLC可仿真 S7-1200 的大部分功能、几乎支持 S7-PLC 的全部常用指令。作用在没有 PLC 实物、没有接线和外部按钮/指示灯的情况下学习者可以先在软件中编写、下载、运行程序快速熟悉各种指令和元件、验证控制逻辑降低实训成本、提高上机效率后期再到实物 PLC 上调试。仿真与实物的连接方式仿真时程序下载到计算机内的虚拟 PLC实物调试时编程计算机通过网线也可无线与真实 PLC 连接再把程序下载进 PLC启动后即可控制实际设备。3.2 仿真变量必须选 M本节最重要的考点/易错点PLC 的变量地址按区域主要分三类I输入映像区接外部输入元件如启动/停止按钮、行程开关、传感器实物运行时由外部信号决定其 0/1Q输出映像区接外部执行元件如接触器/继电器线圈、指示灯、电磁阀M位存储器/中间变量相当于中间继电器用于程序内部存储中间状态、自锁/互锁信号不直接对应外部端子。在 S7-PLCSIM 仿真中没有真实的外部按钮去驱动 I 点也没有真实负载反映 Q 点。如果把需要手动改变的变量命名为 I 或 Q仿真时无法对其置位/复位程序就运行不出来。正确做法是把这类变量改成M 区变量如 M0.0、M0.1在仿真界面用鼠标点击即可让 M 位在 0、1 之间切换用 M 位模拟现场输入信号程序才能被驱动。在实物 PLC上I0.0、I0.1、Q0.0 等地址由真实接线和外部元件驱动可以正常使用不存在此限制。记忆要点仿真用 M、实物可用 I/Q上机时若发现程序点了没反应首先检查变量类型是否误选成了 I/Q。3.3 仿真操作步骤安装并打开博途与配套的 S7-PLCSIM 仿真软件在博途中编写好程序如起保停梯形图启动仿真、搜索并与虚拟 PLC 配对软件会自动弹出/进入模拟仿真平台把程序下载到仿真模块启动模块令虚拟 PLC 处于运行状态在仿真变量界面把需要模拟的输入改为 M 变量用鼠标将其置 1模拟按下或置 0模拟松开观察梯形图中导线、触点、线圈颜色变化得电通常显示为绿色和 M/Q 变量状态验证逻辑是否正确。3.4 起保停电路的仿真与读图**起保停连续/长动控制**是 PLC 最经典、必须掌握的梯形图启动按钮用常开触点停止按钮用常闭触点输出线圈如 Q0.0仿真时可用 M 位代替的一个常开辅助触点与启动按钮并联构成自锁自保持支路按下启动→线圈得电并由自身常开触点保持得电“保”线圈再去控制主回路接触器从而驱动电动机按下停止常闭断开→线圈失电、自锁解除全线断电。仿真现象按下启动按钮线圈及得电支路变为绿色并保持按下停止按钮绿色消失、线路断电。为便于在线修改、调试工程上常把启动信号单独用一个输入点引出增加 I 点再驱动中间继电器/线圈修改逻辑时不必改动主接线实现的功能不变。课程要求能读懂的第二章经典控制电路还包括点动控制按下就转、松开就停无自锁、连续控制起保停、三相异步电动机正反转控制含互锁。这些电路的逻辑都要能在梯形图中识别。3.5 数制与编码基础二进制与十六进制二进制只有 0、1按权2n2^{n}2n展开即可化为十进制如二进制10111×230×221×211×201110111\times2^{3}0\times2^{2}1\times2^{1}1\times2^{0}1110111×230×221×211×2011。二进制转十六进制时从小数点起每 4 位分为一组每组按 8、4、2、1 的权换算成 1 位十六进制数09、AF反之 1 位十六进制对应 4 位二进制。数据长度单位1 字节ByteB 8 位bit1 字WordW 2 字节 16 位1 双字Double WordDWordDW 2 字 4 字节 32 位。常数的进制表示在程序中常加前缀以区分进制例如用 2# 开头表示二进制常数、用 16# 开头表示十六进制常数具体写法以博途/教材为准。原码、反码、补码约定最高位为符号位0 表示正数、1 表示负数其余为数值位正数原码、反码、补码三者相同负数的反码符号位保持为 1 不变数值位逐位取反0 变 1、1 变 0负数的补码在其反码的基础上末位加 1计算机中有符号整数通常以补码形式存储和运算可把减法化为加法、简化运算器。BCD 码二—十进制编码用 4 位二进制数表示 1 位十进制数字最常用的是 8421BCD 码每一位十进制数字对应 0000~1001即 0910101111 为非法码。多位十进制数逐位编码例如日期、时间、计数显示等可用 BCD 码表示便于人与十进制习惯对应。3.6 基本逻辑运算与梯形图触点与AND逻辑对应常开触点串联。只有所有串联触点都闭合条件都为真时输出线圈才得电逻辑表达式可写为QA⋅BQA\cdot BQA⋅B。或OR逻辑对应常开触点并联。只要并联支路中有一个触点闭合任一条件为真输出就得电QABQABQAB。非NOT逻辑对应常闭触点。输入为 0 时触点导通、输出为 1输入为 1 时触点断开、输出为 0即输出与输入相反。实际控制中把若干常开/常闭触点按串联、并联组合即可实现与、或、非复合的复杂条件判断这正是梯形图编程的基础。3.7 IEC 61131-3 与 PLC 的五种编程语言PLC 编程语言由国际电工委员会IEC 61131-3标准统一规定标准给出五种编程语言梯形图 LADLD以类似继电器控制电路的图形符号母线、触点、线圈、功能框编程最直观、应用最广结构化文本 ST西门子称 SCL类似高级语言的文本式语言用语句、表达式编程功能块图 FBDFBD以功能框与门、或门、定时器、计数器等功能模块和连线编程类似数字逻辑电路图指令表 ILSTL 类类似汇编的逐条指令助记符列表逐步执行现已较少使用顺序功能图 SFCGRAPH/顺序控制用步—转换—动作描述顺序控制流程适合按工步推进的自动化过程课程后续章节讲解。S7-1200 在博途中主要使用 LAD、FBD、SCL 三种语言。3.8 LAD 与 SCL 的特点、选择与新建块LAD 梯形图图形化、直观易懂、与继电器控制电路对应紧密最适合实现简单的逻辑控制点动、起保停、互锁、联锁等指令库中还包括定时器如通电延时 TON、断电延时 TOF、计数器触发一次计一次数、比较、传送、运算等功能指令。SCL 结构化文本文本化语言语法类似 C、Java、C、Python使用If…Then条件分支、Case多分支选择、For、While循环等语句构建程序结构适合实现大量数学运算、复杂算法、数据处理与管理缺点是不如梯形图直观。对机械专业学生而言在掌握梯形图的基础上再掌握 SCL在竞赛、就业中优势更大。语言选择原则简单开关量逻辑、互锁联锁优先用 LAD直观、便于现场人员读图维护复杂计算、循环、批量数据处理、通信数据管理用 SCL 更简洁二者可在同一项目中混用不同程序块用不同语言。新建程序块时选择语言在博途中添加新块组织块 OB、函数 FC、函数块 FB 等时需要为该块选择编程语言——选 LAD 则进入梯形图编辑、选 SCL 则进入文本编辑程序块名称只能使用英文字母可含数字例如为机械 1、2 班起保停程序块命名时应写成英文标识符。梯形图中可直接从指令列表把启动按钮触点、线圈等拖入网络程序段编辑操作简洁。四、上机操作与案例4.1 起保停仿真完整操作新建项目、添加 CPUS7-1200在 OB1 中用 LAD 编写起保停启动常开触点与自锁常开触点并联再与停止常闭触点、输出线圈串联启动 S7-PLCSIM 并下载程序把启动、停止信号改用 M 变量如启动 M0.0、停止 M0.1输出可用 M 或观察 Q将 M0.0 置 1 再置 0点按启动观察线圈得电并自锁、线路变绿将 M0.1 动作常闭断开模拟停止观察线圈失电、自锁解除。4.2 仿真程序不运行的排查现象点击变量但线圈无反应。排查顺序①变量是否误设为 I/Q仿真应改为 M②程序是否已下载到仿真模块并处于运行状态③触点常开/常闭、自锁支路、停止按钮逻辑是否接对④是否处于监控在线状态。4.3 数制与补码换算练习把二进制 10111001 转十进制/十六进制判断一个负数的原码、反码、补码把十进制数如日期 2026、计数 27写成 8421BCD 码判断字节、字、双字各含多少位。4.4 同一功能用 LAD 与 SCL 实现起保停既可用 LAD启动常开并联自锁、停止常闭串联线圈实现也可在新建 FC/FB 时选择 SCL用 If 等语句判断启动、停止和自保持状态实现体会两种语言的优缺点和选用场合。五、仿真步骤与语言对比速查表项目关键内容仿真软件博途配套 S7-PLCSIMV16/V20 等可仿真 S7-1200 大部分指令仿真变量必须选 M中间变量不能选 I/Q实物 PLC 可用 I/QI/Q/M 含义I 输入、Q 输出、M 中间变量位存储器/中间继电器仿真步骤启动 PLCSIM→搜索配对→下载到仿真模块→M 位置 0/1→监控得电绿色起保停启动常开 ∥ 自锁常开再串停止常闭与线圈按启动自锁、按停止解除必读电路点动、连续起保停/长动、三相异步电动机正反转含互锁数据单位1 字节8 位1 字2 字节16 位1 双字2 字4 字节32 位进制二进制按权展开4 位二进制↔1 位十六进制84212#、16# 前缀原反补码正数三码相同负数反码符号位不变数值取反补码反码1BCD 码4 位二进制表 1 位十进制0000~1001 对应 0~98421BCD与/或/非与常开串联或常开并联非常闭触点编程标准IEC 61131-3 五种语言LAD、ST/SCL、FBD、IL、SFCS7-1200 主用LAD 梯形图、FBD 功能块图、SCL 结构化文本LAD直观、适合简单逻辑含 TON/TOF 定时器、计数器等SCL类 C/PythonIf/Case/For/While适合复杂算法与数据管理新建块添加 FC/FB 时选语言LAD/SCL块名只能用英文六、课堂任务与复习安排上机任务下载并安装 S7-PLCSIM完成博途与仿真平台的配对、程序下载用 M 变量成功仿真起保停电路观察启动自锁、停止解除的现象。复习要求牢记仿真时变量必须选 M、不能选 I/Q并能解释原因能排查程序不运行能独立画出并讲解点动、起保停、正反转电路的梯形图逻辑熟练进行二进制/十六进制/十进制换算记住字节、字、双字位数会求正数、负数的原码、反码、补码理解 BCD 码能把与、或、非逻辑对应到串联、并联、常闭触点记住 IEC 61131-3 五种语言重点掌握 LAD、FBD、SCL能说明 LAD 与 SCL 的特点和选用场合会在博途中新建程序块并正确选择编程语言、用英文命名。七、待核对与疑问问题原因建议核对方式常数进制前缀的准确写法2#、16# 等录音口语带过查博途/S7-1200 教材常数表示BCD 码正负数最高四位符号表示1111/0000录音表述含糊查教材 BCD/带符号 BCD 码S7-PLCSIM 具体版本号V16/V20录音提到博主版本以机房实际安装版本为准五种语言中 IL 指令表、SFC 在博途中的确切名称录音列举较口语查 IEC 61131-3 与博途文档定时器/计数器指令助记符TON/TOF/CTU 等录音只提通电/断电延时、计数查 S7-1200 指令表仿真下载、配对菜单的具体名称与步骤录音为现场演示口述上机对照博途PLCSIM 操作八、复习与主动回忆复习清单用 3 分钟说清 S7-PLCSIM 的作用和仿真下载步骤。用 4 分钟讲透仿真变量为什么必须选 M、不能选 I/Q并说出 I/Q/M 的含义。用 4 分钟画出起保停梯形图并描述仿真现象比较点动与长动。用 5 分钟复习进制换算、字节/字/双字、原反补码、BCD 码。用 3 分钟把与、或、非对应到梯形图触点。用 5 分钟说出 IEC 61131-3 五种语言对比 LAD 与 SCL 的特点和选用。用 2 分钟说明在博途新建程序块时如何选语言、命名有何要求。主动回忆题S7-PLCSIM 仿真软件有什么作用没有 PLC 实物时能做什么为什么在仿真环境中变量必须选 M而不能选 I 或 Q实物 PLC 上也有这个限制吗I、Q、M 分别代表什么区域各接什么元件或起什么作用简述用 S7-PLCSIM 仿真一个程序的操作步骤。画出起保停梯形图说明启动、自锁、停止各由什么触点实现仿真时按下启动、停止按钮分别看到什么现象点动控制和连续长动控制的区别是什么正反转控制为什么要互锁字节、字、双字各是多少位二进制怎样转十六进制正数和负数的原码、反码、补码分别怎么求什么是 BCD 码与、或、非三种逻辑分别对应梯形图中触点的什么连接方式IEC 61131-3 规定了哪五种编程语言S7-1200 主要用哪三种LAD 和 SCL 各适合什么场合新建程序块时要注意什么答案要点S7-PLCSIM 是博途配套的仿真软件可在计算机中虚拟一台 PLC仿真 S7-1200 的大部分指令和元件在没有 PLC 实物、不接线的情况下就能编写、下载、运行程序熟悉指令、验证逻辑降低实训成本之后再到实物上调。仿真时没有真实外部按钮和负载I 点无法被外部信号驱动、Q 点也无真实负载若把需要手动改变的变量设为 I/Q就无法置位复位、程序运行不出来改用 M 中间变量后可用鼠标把 M 位置 0/置 1 来模拟输入。实物 PLC 上 I/Q 由真实接线和元件驱动可以正常使用没有这一限制。I 是输入映像区接按钮、行程开关、传感器等输入元件Q 是输出映像区接接触器/继电器线圈、指示灯、电磁阀等执行元件M 是位存储器中间变量相当于中间继电器用于程序内部保存中间状态、自锁互锁信号不直接对应外部端子。打开博途写好程序→启动 S7-PLCSIM 并搜索、配对虚拟 PLC→把程序下载到仿真启动模块并运行→把需模拟的输入改为 M 变量并用鼠标置 0/1→在线监控触点、线圈、导线颜色得电变绿验证逻辑。启动按钮用常开触点输出线圈的一个常开辅助触点与启动按钮并联实现自锁自保持停止按钮用常闭触点串联在线路中。仿真时按启动M 位置 1线圈得电、自锁触点闭合保持线路变绿并控制主回路电动机按停止常闭断开线圈失电、自锁解除整条线断电。点动控制没有自锁按下按钮运转、松开即停连续长动/起保停有自锁触点按一次启动后即使松开按钮仍持续运转直到按停止。正反转控制若两个方向同时接通会造成电源相间短路故必须设置互锁电气互锁/机械互锁保证正转、反转接触器不能同时得电。1 字节8 位1 字2 字节16 位1 双字2 字4 字节32 位。二进制转十六进制时从小数点起每 4 位分一组每组按 8421 权换成 1 位十六进制09、AF反之 1 位十六进制展开为 4 位二进制。最高位为符号位0 正 1 负正数的原码、反码、补码相同负数反码是符号位不变、数值位逐位取反负数补码是反码末位加 1计算机有符号数多用补码运算。BCD 码是用 4 位二进制表示 1 位十进制数的编码8421BCD 中 0000~1001 分别表示 0~9便于表示和显示十进制数据。与运算对应常开触点串联全部闭合才得电QA⋅BQA\cdot BQA⋅B或运算对应常开触点并联任一闭合即得电QABQABQAB非运算对应常闭触点输入 0 输出 1、输入 1 输出 0。触点串并联组合可实现复杂复合逻辑。IEC 61131-3 规定五种语言梯形图 LAD、结构化文本 STSCL、功能块图 FBD、指令表 IL、顺序功能图 SFCS7-1200 在博途中主要用 LAD、FBD、SCL。LAD 直观、接近继电器电路适合点动、起保停、互锁等简单逻辑SCL 类似 C/Python用 If/Case/For/While适合复杂运算、算法和数据管理。新建 FC/FB 等程序块时要在添加块时选择该块语言LAD 或 SCL且程序块名只能用英文字母可含数字。