S7-1200PLC学习记录

news2024/12/23 7:06:28

文章目录

  • 前言
  • 一、S7-1200
    • 1.数字量输入模块
    • 2. PNP接法和NPN接法
  • 二、博图软件
    • 1. 位逻辑运算
      • Part1. 添加新设备(添加PLC)
      • Part2. 添加信号模块
      • Part3. 添加信号板中模块
      • Part4. 添加新块
      • Part5. Main编程文件
      • 案例1
      • 案例2 -( S )- 和 -( R )-
        • 完整操作过程:
      • 案例3 -[NOT]- 和 -[/]-的区别
      • 案例4 SET_BF和RESET_BF
      • 案例5 SR 和 RS
      • 案例6 -|P|- 和 -|N|-
      • 案例7 -( P )- 和 -( N )-
    • 2. 定时器操作
      • 案例1
    • 3 计数器操作
      • 案例1 CTU
    • 4 比较操作
      • 案例1 CMP
    • 5. 数学函数
      • 案例1 ADD
      • 案例2 DIV
    • 6. 移动指令
      • 案例1 MOVE
    • 7. 程序控制指令
      • 演示(没有运行通,只述逻辑)
    • 8. 快速查看指令详细信息(必须会)
  • 博图SLC编程
    • 案例1. 起保停
    • 案例2
        • `Step1`.
        • Step2
        • Step3
        • Step4. 检查PLC和屏幕是否在同一个网段下面
        • Step5. 仿真
        • Step6.
    • 自锁电路
  • 更新记录


前言

提示:这里可以添加本文要记录的大概内容:


提示:以下是本篇文章正文内容,下面案例可供参考

一、S7-1200

1.数字量输入模块

在这里插入图片描述
要么是两个PNP,要么是两个NPN,不同两个不同。

2. PNP接法和NPN接法

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、博图软件

在这里插入图片描述

  • 新建项目界面如下:
  • 第一种是用户视图
    在这里插入图片描述
  • 第二种是Portal视图
    在这里插入图片描述

1. 位逻辑运算

Part1. 添加新设备(添加PLC)

DC/DC/DC表示输入24V,中间24V,输出24V。
通常:
第一个位置,表示本体电源(输入电源),DC——直流电24V;AC——交流电220V。
第二个位置,表示输入信号(I类)
第三个位置,表述本体输出(Q点),Rly——继电器,DC——晶体管
在这里插入图片描述

操作后的画面如下图所示:

  • S7-1200由:3个通信模块+PLC+8个信号模块 组成。
  • 8个信号模块【SM】:
    • 开关量的输入输出(数字量的输入输出)【DI/DO】
  • 模拟量的输入输出【AI/AO】
    • 3个通讯模块【CM】:
    • 232通讯,485通讯,DP通讯模块
      在这里插入图片描述
      PLC面板中的具体内容:
      在这里插入图片描述

Part2. 添加信号模块

直接在硬件目录中找到你想接入的信号模块,这里我想接入个
既能输入又能输出的模拟信号块,那么我就找到AI/AQ中的模块后
直接拖入进来即可。
在这里插入图片描述

Part3. 添加信号板中模块

操作同Part2,只不过需要注意信号板中的模块所在的位置。
在这里插入图片描述
Part2和Partt3拖入的具体内容:
在这里插入图片描述

Part4. 添加新块

程序块-》添加新块。
其中,FB(函数块)=FC+DB,即函数块=函数+数据块。
在这里插入图片描述

Part5. Main编程文件

在这里插入图片描述
例如想:实现按下一个按钮让灯点亮。
如果没有PLC设备,那么就启动仿真进行模拟。
在这里插入图片描述
首先,点击“启动仿真”->点击“开始搜索“
在这里插入图片描述
搜索完成后,点击”下载“:
在这里插入图片描述
下载完后,进行”装载“,之后,将启动模块的动作改为“启动模块”。
在这里插入图片描述
点击监控按钮
在这里插入图片描述

案例1

只有M1.1=0时,M1.1的线路才能通。
在这里插入图片描述

案例2 -( S )- 和 -( R )-

置位指令(S):-( S )- ,简单理解为,置1指令
复位指令(R):-( R )- ,简单理解为,置0指令
详细理解:

  • 置位指令:输入的信号状态=1后,将指定的地址位,置1。后面输入信号变为0后,指定的地址位仍旧保持为1。
  • 复位指令:输入的信号状态=1后,将指定的地址位,置0。即使后面的输入信号变为0,指定地址位仍保持为0;
完整操作过程:
  1. 编写好程序段
    在这里插入图片描述

  2. 点击下载到设备(前提:第一次运行时,点击过了运行仿真)
    在这里插入图片描述

  3. 点击启用监视
    在这里插入图片描述

  4. 修改输入信号查看效果
    步骤:
    (1)先令M3.0=1
    (2)再令M3.0=0
    发现:输入信号=1,令置位=1。之后,只有复位才能将其变为0。
    在这里插入图片描述
    在监视表中也可验证:
    在这里插入图片描述

灯灭的步骤
(1)令M3.2=1,触发复位指令
在这里插入图片描述

案例3 -[NOT]- 和 -[/]-的区别

-[NOT]-:线圈触点的取反。将逻辑运算结果(RLO)取反
-[/]-:线圈取反。逻辑运算结果取反,之后将值赋值给部件
基本构图:
在这里插入图片描述
改变输入信号的值,查看作用。
在这里插入图片描述
可以发现:

  • -[NOT]-是作用于线路
  • -(/)-是作用于线圈里的部件。

案例4 SET_BF和RESET_BF

SET_BF:置位位域。【指定起始地址,置位多少个位】
RESET_BF:复位位域。【指定起始位置,复位多少个位】
起始构图:
在这里插入图片描述
其中,
M4.0和5组合起来代表:对M4.0,M4.1,M4.2,M4.3和M4.4共5个进行置位操作。
M5.0和4组合起来代表:对M4.0,M4.1,M4.2和M4.3共4个进行复位操作。
对M4.0,M4.1,M4.2,M4.3

案例5 SR 和 RS

SR:表示Set/Reset。根据S和R1的信号状态,置位或复位指定操作数的位。
RS:表示Reset/Set。根据R和S1的信号状态,复位或置位指定操作数的位。
简记:SR,R信号进行控制。RS,S信号进行控制
原始构图:
在这里插入图片描述
按下M3.0,set M1.0,让线圈M4.0有信号。按下M3.1的时候,让M1.0复位。

按下M3.2,复位M1.1。按下M3.3,set M1.1,让线圈M4.1有信号。

案例6 -|P|- 和 -|N|-

-|P|-:上升沿。when操作数的信号状态从0->1,指令返回RLO=1。【RLO指逻辑运算结果】
-|N|-:下降沿。when操作数的信号状态从1->0,指令返回RLO=1
原始构图:
在这里插入图片描述
步骤:
(1)按下M1.0的瞬间,M2.0变亮。
(2)按下M3.0的瞬间,M2.1变暗。
强调这个动作的一瞬间。可应用于车库等门禁。例如,车子经过这个路口的一瞬间进行拍照,出这个路口的一瞬间进行关闭栏杆。

案例7 -( P )- 和 -( N )-

这是线圈版的上升沿和下降沿。
在这里插入图片描述
上升沿:按下开关的一瞬间,部件变为true
下降沿:按下开发的一瞬间,部件变为false。

2. 定时器操作

TP:表示Time Pulse,生成脉冲。将Q输出设置为预置的一段时间。
TON:表示Time ON,接通延时。将输出Q中的位置延时所设定的一段时间PT。【用于设置几秒后接通电路】
TOF:Timer OFF,将输出Q中的复位延时所设定的一段时间PT。
TONR:Timer ON with Reset。累计时间值。

TON:是按下按钮时才计时,一旦松开按钮后就不计时。【会重新计时】

案例1

目的:
按下一个按钮5秒后,让一个灯点亮,同时让一个灯熄灭。

原始构图:
M2.0的灯一开始是没有接通的,那么这个常闭触点的值=0,那么就会闭合。那么M3.0的灯是亮的
PT:代表计时。
ET:输出信号。
在这里插入图片描述
步骤:
(1)按下M1.0后,开始计时,5秒后M2.0变亮。
在这里插入图片描述

3 计数器操作

在这里插入图片描述

案例1 CTU

目的:连续按按钮5次,线路才通,灯才亮。
CU:输入信号
Q:输出
R:复位信号
PV:设置计数数量
CV:当前计数的输出

在这里插入图片描述
步骤:
(1)将M1.1置为0,不让加法器进行复位。
(2)对M1.0进行开关闭合5次。
在这里插入图片描述

4 比较操作

在这里插入图片描述

案例1 CMP

目的:按几次按钮,点亮第几号的灯
在这里插入图片描述

5. 数学函数

在这里插入图片描述

案例1 ADD

目的
输入1,2,3,实现1+2+3=6的功能。

存储位补充:

  • MB:一个字节(8位)
  • MW:一个字
  • MD:双字【一般用于存储浮点数】

原始构图
在这里插入图片描述
OUT输出,将值放入MB中,通过监控表来查看其值。
最终效果图如下:
在这里插入图片描述

案例2 DIV

注意
OUT处的存储。
在这里插入图片描述

6. 移动指令

在这里插入图片描述

案例1 MOVE

目的:
将MD100中的数据移动到MD200中
在这里插入图片描述

7. 程序控制指令

在这里插入图片描述

演示(没有运行通,只述逻辑)

在这里插入图片描述
逻辑上,程序2中电路通了后,触发JMP指令,跳转到LABEL标签名为”跳转程序1“的位置开始继续运行。

8. 快速查看指令详细信息(必须会)

做法:

  • 选中想查看的指令/块,按F1
    例如:
    在这里插入图片描述

博图SLC编程

案例1. 起保停

目的:
作个起保停案例
Step1:
新建项目->添加新设备->添加新块(具体步骤如下图示)
在这里插入图片描述
PLC变量->添加新变量表->
在这里插入图片描述
编辑简单的起保停程序:
在这里插入图片描述
编写完后,将程序拖入到Main[OB1]的程序段中
在这里插入图片描述
拖入后的效果为:
在这里插入图片描述
接着,点击”仿真模拟“->”下载到设备“,进行监控
在这里插入图片描述

案例2

Step1.

新建项目->添加新设备【一个是S7-1200PLC,另一个是触摸屏TP700(见下图)】
在这里插入图片描述
触摸屏配置:

  • 最主要设置触摸屏和哪个PLC进行连接
    在这里插入图片描述
  • 其余的为个性化设置,非必须。
    在这里插入图片描述
Step2

按照"案例1. 起保停" ,建立起保停程序。
在这里插入图片描述

Step3

进入屏幕界面,进行设置
绘制2个按钮,1个灯
在这里插入图片描述

灯的具体配置如下图示:
在这里插入图片描述
”启动“按钮配置
在这里插入图片描述
在这里插入图片描述
”停止“按钮配置:
通启动按钮一样配置。
在这里插入图片描述

Step4. 检查PLC和屏幕是否在同一个网段下面

查看方式:
PLC面板->设备组态->设备视图:
(1)选择PLC,双击”网络接口“
在这里插入图片描述
(2)选择面板,查看
在这里插入图片描述
确认在同一个网段下后,进行仿真操作即可。

Step5. 仿真

(1) 启动PLC的仿真
点击仿真,选择接口/子网的连接:PN/IE_1
在这里插入图片描述
(2)启动触摸屏的仿真
在这里插入图片描述

Step6.

结合程序段和面板一起看
在这里插入图片描述

自锁电路

在这里插入图片描述
前提

  • 停止按钮接常闭点【按钮不按时,线路接通】
  • 启动按钮接常开点【按钮按下时,线路接通】
  • 接触器:
    • 通过电磁力,控制开关的闭合。
    • 接触器通电后,常开触点由于磁力吸合=>开关闭合。

理解
按下启动按钮一瞬间,电路接通,此时辅助触头km吸合,那么启动按钮抬起来后,电路依旧走辅助触头处联通,形成一个自锁电路。


更新记录

2024.07.03 更新至 博图软件位逻辑运算
2024.07.04 更新至 博图软件中的2~4部分
2024.07.05 更新至 博图编程,特别的弄懂了自锁电路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1898947.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ERROR | Web server failed to start. Port 8080 was already in use.

错误提示: *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 8080 was already in use.Action:Identify and stop the process thats listening on port 8080 or configure thi…

C++——模板详解(下篇)

一、非类型模板参数 模板参数分为类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之后的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类&#…

Swift 中的方法调用机制

Swift 方法调用详解:与 Objective-C 的对比、V-Table 机制、Witness Table 机制 在 iOS 开发中,Swift 和 Objective-C 是两种常用的编程语言。尽管它们都能用于开发应用程序,但在方法调用的底层机制上存在显著差异。本文将详细介绍 Swift 的…

maven项目使用netty,前端是vue2,实现通讯

引入的java包 <!-- 以下是即时通讯--><!-- Netty core modules --><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.76.Final</version> <!-- 使用最新的稳定版本…

C++中的引用——引用的注意事项

1.引用必须初始化 2.引用在初始化后不可以改变 示例&#xff1a; 运行结果&#xff1a;

03:EDA的进阶使用

使用EDA设计一个38译码器电路和245放大电路 1、38译码器1.1、查看74HC138芯片数据1.2、电路设计 2、245放大电路2.1、查看数据手册2.2、设计电路 3、绘制PCB3.1、导入3.2、放置3.3、飞线3.4、特殊方式连接GND3.5、泪滴3.6、配置丝印和划分区域3.7、添加typc接口供电 1、38译码器…

案例精选 | 聚铭网络助力南京市玄武区教育局构建内网日志审计合规体系

南京市玄武区教育局作为江苏省教育领域的先锋机构&#xff0c;其工作重点涵盖了教育政策的实施、教育现代化与信息化的融合、教育资源的优化、教育质量的提升以及教育公平的促进。在这一背景下&#xff0c;网络安全管理成为了确保教育信息化顺利推进的关键环节之一。 根据玄武…

【CV炼丹师勇闯力扣训练营 Day24:§7 回溯3】

CV炼丹师勇闯力扣训练营 代码随想录算法训练营第24天 93 复原IP地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2.201” 和 “192.168.…

tensorboard安装失败,怎么办?

标题tensorboard未安装报错&#xff0c;如下图所示&#xff1a; 解决方法尝试&#xff1a; 这些方法都可以试一下&#xff0c;因为每个人的情况可能不同&#xff0c;成功的方法也不同。 1、在pycharm中Pip失败 2、 在pycharm中Conda 失败 3、在Pycharm中换清华源失败 4、直接…

软件是什么?一个软件到底是哪些部分组成的-软件到底有哪些分支呢?

https://doc.youyacao.com/117/2163 软件是什么&#xff1f;一个软件到底是哪些部分组成的-软件到底有哪些分支呢&#xff1f; 何为软件 软件定义 的本质是通过软件编程实现硬件资源的虚拟化、灵活、多样和定制化功能&#xff0c;以最大化系统运行效率和能量效率。它基于硬…

面试题-Spring家族与SpringIOC

1.spring家族的介绍 Spring简单图&#xff1a; 2.IOC原理 IOC就是原先代码里需要开发者实现对象的创建和关系依赖&#xff0c;反转交给SpringIOC容器管理对象的生命周期和对象之间的依赖关系。 依赖注入的方式&#xff1a; Setter&#xff1a;实现特定属性的public sette…

资源监视器 查看写入磁盘的文件

"Win R" 组合键来打开运行对话框&#xff0c;然后输入 "resmon" 并按下回车键&#xff0c;或者在开始菜单中搜索 "资源监视器" 并打开它。 可以查看时哪个服务在往盘里写日志或者文件

pytest-rerunfailures:优化测试稳定性的失败重试工具

笔者在执行自动化测试用例时&#xff0c;会发现有时候用例失败并非代码问题&#xff0c;而是由于服务正在发版&#xff0c;导致请求失败&#xff0c;从而降低了自动化用例的稳定性&#xff0c;最后还要花时间定位到底是自身case的原因还是业务逻辑问题&#xff0c;还是其他原因…

vue单独部署到宝塔教程

配置反向代理 注意:如果目标网站是https则写https否则写http 2.关于解决部署后无法刷新,直接报错404 location / { try_files $uri $uri/ /index.html; }

记某大学智慧云平台存在弱口令爆破水平越权信息泄露Wx_SessionKey篡改 任意用户登录漏洞

扫码获取网安教程 0x1 前言 本篇文章是记录最近给一所大学做渗透测试时该学校存在的漏洞&#xff08;目前已经修复&#xff09;。我是先找该学校的微信小程序的资产&#xff0c;因为各位佬们也知道&#xff0c;微信小程序相对于web应用服务端来讲维护较少&#xff0c;所有漏洞…

【JavaWeb程序设计】Web基础-JavaScript

目录 一、函数与事件的使用 1. 编写一个html页面&#xff0c;使用Javascript完成数字的平方计算。 1.1 运行截图 1.2 JS代码 1.3 HTML代码 2. 要求文本框中只能输入字母 2.1 运行截图 2.2 下载jquery-3.4.1并引用 2.3 JS代码 2.4 HTML代码 3. 在文本框分别输入两个…

使用 mongo2neo4j 和 SemSpect 通过各种方式进行图探索

用于可视化和探索每个 MEAN 堆栈背后的数据图的 ETL 您是否正在努力回答有关 MEANS Web 服务数据的紧急问题&#xff1f;哪里有 BI 可以快速回答“上个季度哪些亚洲的artisan.plus 用户触发了订单&#xff1f;”这个问题&#xff0c;而无需编写查询&#xff1f;使用 mongo2neo4…

通过 Parallels Desktop 虚拟机安装运行 macOS 15 Sequoia

在 Apple 的 WWDC 24 大会上&#xff0c;macOS Sequoia 15 成为全场热议的焦点。 作为科技爱好者和开发者&#xff0c;我们都迫不及待想要体验这些最新功能。但如果直接把整个 Mac 升级到测试版&#xff0c;可能不太现实&#xff0c;特别是当你需要保持主系统稳定的时候。 幸…

速刷edurank(1)

python安全开发 python安全开发 python安全开发前言一、平台edu二、使用步骤1.引入库2.功能**完整代码**完整代码 总结 前言 目的&#xff1a;想快速的搜集edu的域名 一、平台edu https://src.sjtu.edu.cn/rank/firm/0/?page2 二、使用步骤 1.引入库 代码如下&#xff08…

序列化Serializable

一、传输对象的方式 将对象从内存传输到磁盘进行保存&#xff0c;或者进行网络传输&#xff0c;有两种方式&#xff1a; 实现Serializable接口&#xff0c;直接传输对象转成json字符串后&#xff0c;进行字符串传输 二、直接传输对象 implements Serializable Data Equal…