- 发布
- 西门子PLC编程一级代理
- 西门子
- 授权代理
- 电话
- 13817547326
- 手机
- 18873121520
- 微信
- 13817547326
- 发布时间
- 2023-12-14 04:01:53
西门子销售WinCC软件经销商
PLC是什么意思?相信很多人处于大概知道是什么,但是又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,因此应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
数据类型 描述
ERROR OUT Bool 上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫
描周期时间。如果执行因错误而终止,则 STATUS 参数的错
误代码值仅在 ERROR = TRUE 的一个扫描周期内有效。
STATUS OUT Word 执行错误代码
Modbus 通信功能代码(1、2、4、5 和 15)可以在 CPU 的输入过程映像及输出过程映像中
直接读写位和字。对于这些功能代码,MB_HOLD_REG 参数必须定义为大于一个字节的数据
类型。下表给出了 Modbus 地址与 CPU 过程映像的映射示例。
表格 13-87 Modbus 地址到过程映像的映射
Modbus 功能 S7-1200
代码 功能 数据区 地址范围 数据区 CPU 地址
01 读位 输出 1 到 8192 输出过程映像 Q0.0 到
02 读位 输入 10001 到 输入过程映像 I0.0 到 I1023.7
04 读字 输入 30001 到 输入过程映像 IW0 到 IW写位 输出 1 到 8192 输出过程映像 Q0.0 到
15 写位 输出 1 到 8192 输出过程映像 Q0.0 到
Modbus 通信功能代码(3、6、16)使用 Modbus 保持寄存器,该寄存器可以是 M 存储区
地址范围或数据块。保持寄存器的类型由 Modbus_Slave 指令的 MB_HOLD_REG 参数指定。
说明
MB_HOLD_REG 数据块类型
Modbus 保持寄存器数据块必须允许直接(**)寻址和符号寻址。创建该数据块时,必须
选择“标准”(Standard) 访问属性。
自 Modbus_Slave 指令版本 V4.0 或更高版本起,可以启用数据块属性“优化块访问”
(Optimized block access)。只能在具有以下数据类型的优化存储器中使用单个元素或元素数
组:Bool、Byte、Char、Word、Int、DWord、Dint、Real、USInt、UInt、UDInt、SInt 或
WChar。描述
08 0000H 返回查询数据回送测试:
• 在 STEP 7 V15.1 版本之前,Modbus_Slave 将向 Modbus 主站回送接收到的
数据字。
• 自 STEP 7 V15.1 或更高版本起,Modbus_Slave 指令 V4.1 或更高版本会回
送接收到的一个或多个数据字。
08 000AH 清除通信事件计数器:Modbus_Slave 将清除用于 Modbus 功能 11 的通信事件
计数器。
11 获取通信事件计数器:Modbus_Slave 使用内部通信事件计数器来记录发送到
Modbus_Slave 的 Modbus 成功读取和写入请求次数。该计数器不会因功能 8、
功能 11 或广播请求而增加。同样也不会因任何导致通信错误(例如,奇偶校
验错误或 CRC 错误)的请求而增加。
Modbus_Slave 指令支持来自任何 Modbus 主站的广播写请求,只要该请求是用于访问有效
地址的请求即可。对于广播不支持的功能代码,Modbus_Slave 将生成错误代码“0x8188通信规则
• 必须先执行 Modbus_Comm_Load 组态端口,然后 Modbus_Slave 指令才能通过该端口
通信。
• 如果某个端口作为从站响应 Modbus_Master,则请勿使用 Modbus_Master 指令对该端
口进行编程。
• 对于给定端口,只能使用一个 Modbus_Slave 实例,否则将出现不确定的行为。
• Modbus 指令不使用通信中断事件来控制通信过程。用户程序必须通过轮询
Modbus_Slave 指令以了解传送和接收的完成情况来控制通信过程。
• Modbus_Slave 指令必须以一定的速率定期执行,以便能够及时响应来自 Modbus_Master
的进入请求。建议每次扫描时都从程序循环 OB 执行 Modbus_Slave。也可以从循环中断
OB 执行 Modbus_Slave,但并不建议这么做,因为中断例程的延时过长可能会暂时阻止
其它中断例程的执行。
Modbus 定时信号
必须周期性执行 Modbus_Slave,才能接收来自 Modbus_Master 的每个请求并随之按要求响
应。Modbus_Slave 的执行频率取决于 Modbus_Master 的响应超时时间。下图对此进行了说
明。
庠⫴
朝枽ὓⲀ䱏㜟朝
◶⾽
〟愈㜟朝
ῷ䰂⓺愪
◶⾽
庮㜟㜟朝
庠⫴
朝枽
ὤ䰂⓺愪
$'5 )& 'DWD &5&
&5&
$'5
$'5 )& 'DWD &5&
响应超时时间 RESP_TO 是 Modbus_Master 等待 Modbus_Slave 开始响应的时间。该时间段
不是由 Modbus 协议定义的,而是属于每个 Modbus_Master 的一个参数。必须基于用户
Modbus_Master 的具体参数确定 Modbus_Slave 的执行频率(相邻两次执行之间的时间)。
在 Modbus_Master 的响应超时时间内至少应执行两次 Modbus_Slav下表显示了可在程序中使用的 Modbus_Slave 的背景数据块中的公共静态变量。
表格 13-90 Modbus_Slave 背景数据块静态变量
变量 数据类型 默认值 描述
HR@Start@Offset Word 0 分配 Modbus 保持寄存器的起始地址(默认值 = 0)
Extended_Addressi
ng
Bool FALSE 组态单字节或双字节从站寻址:
• FALSE = 单字节地址
• TRUE = 双字节地址
Re Word 0 该从站接收到的所有请求的数量
Slave_Message_Co
unt
Word 0 该特定从站接收到的请求的数量
Bad_CRC_Count Word 0 接收到的具有 CRC 错误的请求的数量
Broadcast_Count Word 0 接收到的广播请求的数量
Exception_Count Word 0 需要通过向主站返回异常来确认的 Modbus 特定错误
Success_Count Word 0 该特定从站接收到的没有协议错误的请求数量
MB_DB MB_base - Modbus_Comm_Load 指令的 MB_DB 参数必须连接
Modbus_Slave 指令的 MB_DB 参数。
UInt 0 CPU 可写入的输出字节的起始地址(QB0 至 )
UInt 65535 远程设备可以写入的字节数。如果 = 0,则远程设
备无法写入输出。
示例:要想只允许 QB10 到 QB17 可写入,则 = 10
且 = 8。
UInt 0 CPU 可读取的输出字节的起始地址(QB0 至 )
UInt 65535 远程设备可以读取的输出字节数。如果 = 0,则远
程设备无法读取输出。示例:要想只允许 QB10 到 QB17 可读
取,则 = 10 且 = 8。
IB_Read_Start UInt 0 CPU 可读取的输入字节的起始地址(IB0 至 IB65535)
IB_Read_Count UInt 65535 远程设备可以读取的输入字节数。如果 IB_Count = 0,则远程
设备无法读取输入。示例:要想只允许 IB10 到 IB17 可读取,
则 IB_Start = 10 且 IB_Count = 8。
用户程序可以将数据写入控制 Modbus 服务器操作和以下变量中: