新闻
西门子销售断路器经销商
2023-12-14 04:06  浏览:15
西门子销售断路器经销商

西门子销售断路器经销商

PLC是什么意思?相信很多人处于大概知道是什么,但是又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。

而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。


以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。

简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。


控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;


2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;


3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;


4、PLC能通过模拟量采集和调节温度、压力、速度等参数。


正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,因此应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。

进入的 Modbus 消息功能代码(3、6 和 16)在 Modbus 保持寄存器中读取/写入字,该寄存 器可以在 M 存储区或数据块中。保持寄存器的类型由 MB_HOLD_REG 参数指定。 说明 MB_HOLD_REG 参数分配 定义为字数组、整数、宽字符、无符号整数、字节、短整数、无符号短整数、字符、双字、 双整数、无符号双整数或实数的 Modbus 保持寄存器可以存放在任何存储区中。 定义为结构的 Modbus 保持寄存器必须存放在未经优化的 DB 中。 对于 M 存储区中的 Modbus 保持寄存器,使用 Any 指针格式。其格式为 P#“位地址”“数 据类型”“长度”。例如 P#M1000.0 WORD 500。 下表给出了 Modbus 地址到保持寄存器的映射示例,这种映射用于 Modbus 功能代码 03(读 取字)、06(写入字)和 16(写入字)。DB 地址的实际上限取决于每种 CPU 型号的*大 工作存储器限值和 M 存储器限值。 表格 13-65 Modbus 地址到 CPU 存储器地址的映射示例 Modbus 地址 MB_HOLD_REG 参数示例Modbus 应用协议标头是每个 Modbus TCP 消息的前 7 个字节。此标头包含事务标识符、协 议标识符、长度和设备标识符。MB_SERVER 指令响应消息包含与 Modbus 请求消息中接收 的事务标识符、协议标识符和设备标识符相同的值。“长度”(Length) 字段由 MB_SERVER 指 令算得。 多个服务器连接 可以创建多个服务器连接。单个 PLC 可与多个 Modbus TCP 客户端建立并发连接。 Modbus TCP 服务器支持的并发连接数*多为 PLC 允许的开放式用户通信*大连接数。PLC 的 连接总数(包括 Modbus TCP 客户端和服务器)不得超过支持的开放式用户通信*大连接数。 可在客户端和服务器类型的连接之间共享 Modbus TCP 连接单独的并发服务器连接必须遵循以下规则: • 各 MB_SERVER 连接必须使用一个唯一的背景数据块。 • 必须为各 MB_SERVER 连接分配一个唯一的 IP 端口号。每个端口只能用于 1 个连接。 • 必须为各 MB_SERVER 连接分配一个唯一的连接 ID。 • 必须为每个连接(带有各自的背景数据块)单独调用 MB_SERVER。 连接 ID 对于每个单独的连接必须是唯一的。每个单独的背景 DB 必须使用单一的连接 ID。背 景 DB 和连接 ID 成对使用,且对每个连接必须是唯一的。 表格 13-66 Modbus 诊断功能代码 MB_SERVER Modbus 诊断功能 代码 子功能 描述 08 0x0000 返回查询数据回送测试:MB_SERVER 将向 Modbus 客户端回送接收到的数据字。 08 0x000A 清除通信事件计数器:MB_SEVER 将清除用于 Modbus 功能 11 的通信事件计数器。 11 获取通信事件计数器:MB_SERVER 使用内部通信事件计数器来记录发送到 Modbus 服 务器的 Modbus 成功读取和写入请求次数。该计数器不会因任何功能 8、功能 11 请求 或任何导致通信错误的请求而递增。 广播功能不能用于 Modbus TCP,因为在任何时刻仅存在一个客户端-服务器连接。 MB_SERVER 指令数据块 (DB) 变量 下表给出了存储在 MB_SERVER 背景数据块中的公共静态变量(可在用户程序中使用)。 表格 13-67 MB_SERVER 公共静态变量 变量 数据类 型 默认值 描述 HR@Start@Offset Word 0 指定 Modbus 保持寄存器的起始地址 Request_Count Word 0 该服务器接收到的所有请求的数量。 Server_Message_Coun t Word 0 该特定服务器接收到的请求的数量。 Xmt_Rcv_Count Word 0 出现错误的传输或接收的数量。此外,如果接收到一条无效的 Modbus 消息,该值加 1。 Exception_Count Word 0 需要返回例外的 Modbus 特定错误数 Success_Count Word 0 该特定服务器接收到的且无协议错误的请求数QQ截图20230625162111.png指示与所分配客户端的连接是已接通还是已断开:1 = 接通,0 = 断开 QB_Start UInt 0 CPU 可写入的输出字节的起始地址(QB0 至 QB65535) QB_Count UInt 65535 远程设备可以写入的字节数。如果 QB_Count = 0,则远程设备 无法写入输出。 示例:要想只允许 QB10 到 QB17 可写入,则 QB_Start = 10 且 QB_Count = 8。 QB_Read_Start UInt 0 CPU 可读取的输出字节的起始地址(QB0 至 QB65535) QB_Read_Count UInt 65535 远程设备可以读取的输出字节数。如果 QB_Count = 0,则远程 设备无法读取输出。示例:要想只允许 QB10 到 QB17 可读取, 则 QB_Start = 10 且 QB_Count = 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。 NDR_immediate Bool FALSE 与参数 NDR(新数据就绪)含义相同。MB_SERVER 在处理 Modbus TCP 写请求的同一调用中更新“NDR_immediate”。 DR_immediate Bool FALSE 与参数 DR(数据读取)含义相同。MB_SERVER 在处理 Modbus TCP 写请求的同一调用中更新“DR_immediate”。 用户程序可以将数据写入控制 Modbus 服务器操作和以下变量中:MB_SERVER 指令数据块 (DB) 变量可用性的版本要求如下: 表格 13-68 MB_SERVER 指令数据块 (DB) 变量可用性的版本要求:指令、TIA Portal 和 S7‑1200 CPU MB_SERVER 指令版本 TIA Portal 的版本 S7-1200 CPU 固件 (FW) 版本 数据块变量 4.2 V14 SP1 CPU 固件 V4.0 或更高 版本 QB_Start QB_Count 5.0 或以上版本 V15 或以上版本 CPU 固件 V4.2 或更高 版本 QB_Start QB_Count QB_Read_Start QB_Read_Count IB_Read_Start IB_Read_Count NDR_immediate DR_immediate HR@Start@Offset Modbus 保持寄存器地址从 40001 开始。这些地址与保持寄存器的 PLC 存储器起始地址对应。 不过,可以使用“HR@Start@Offset”变量将 Modbus 保持寄存器的起始地址定义为除 40001 外 的其它数字。 例如,如果保持寄存器起始于 MW100 且长度为 100 个字,偏移量 20 可指定保持寄存器的 起始地址为 40021 而不是 40001。小于 40021 或大于 40119 的任何地址都将导致寻址错误。 表格 13-69 Modbus 保持寄存器寻址示例 HR@Start@Offset 地址 *小值 *大值 0 Modbus 地址(字) 40001 40099 S7-1200 地址 MW100 MW298 20 Modbus 地址(字) 40021 40119 S7-1200 地址 MW100 MW298 HR@Start@Offset 是 MB_SERVER 背景数据块中的一个字数据,用于分配 Modbus 保持寄存器 的起始地址。将 MB_SERVER 放入程序后,可利用参数助手下拉列表设置该公共静态变量。例如,将 MB_SERVER 放入 LAD 程序段后,可以切换到上一程序段,并分配HR@Start@Offset。 必须在执行 MB_SERVER 前分配起始地址。 使用默认 DB 名称 输入 Modbus 服务器变量: 1. 将光标放在参数字段中,然后输入 m 字符。 2. 从 DB 名称下拉列表中选择 “MB_SERVER_DB”。 3. 从 DB 变量下拉列表中选择 “MB@SERVER@DB.HR@Start@Offset”。 访问数据块 (DB) 中的数据区域,而不是直接访问 Modbus 地址 可以访问 DB 中的数据区域。在全局 DB“属性”(Attributes) 属性页中,必须取消选中“仅存储 在装载存储器中”(only store in load memory) 和“优化块访问”(Optimized block access) 复 选框。 如果 Modbus 请求到达时尚未为相应功能代码的 Modbus 数据类型定义数据区域,则 MB_SERVER 指令会按之前的指令版本处理请求:直接访问过程映像和保持寄存器。 如果已为功能代码的 Modbus 数据类型定义了数据区域,则 MB_SERVER 指令会对该数据区 域进行读写操作。具体是读操作还是写操作取决于作业类型。 说明 如果组态了数据区域,则 MB_SERVER 指令会忽略与数据区域的 data_type 对应的背景数据 块中,静态变量组态的偏移或范围。这些偏移和范围仅适用于 MB_HOLD_REG 所引用的过 程映像或存储器。数据区域的启动和长度参数会提供自身定义偏移和范围的方法 单个 Modbus 请求只能对一个数据区域进行读写操作。如果要读取覆盖多个数据区域的保持 寄存器,则需要多个 Modbus 请求。QQ截图20230509172545.png数据区域的定义规则如下: • 用户*多可在不同数据块中定义八个数据区域,每个数据块只能包含一个数据区域。单个 MODBUS 请求只能对恰好一个数据区域进行读写操作。每个数据区域对应于一个 MODBUS 地址区域。可以在实例数据块的“Data_Area_Array”静态变量中定义数据区域。 • 如果要使用的数据区域不到八个,则所需数据区域必须紧密相连,没有间隙。在处理过 程中,数据区域中的第一个空白条目会终止数据区域搜索。例如,如果已定义字段元素 1、2、4 和 5,由于字段元素 3 留空,则“Data_Area_Array”只会识别字段元素 1 和 2。Data_Area_Array 字段包含八个元素:Data_Area_Array[1] 到 Data_Area_Array[8] • 每个字段元素 Data_Area_Array[x](其中 1 <= x <= 8)都是 MB_DataArea 类型的 UDT, 结构如下: 参数 数据类型 含义 data_ type UInt 映射到此数据区域的 MODBUS 数据类型的标识符: • 0:空字段元素或未使用数据区域的标识符。此时,数据 块、起始和长度的值不相关。 • 1:过程映像输出(与功能代码 1、5 和 15 一起使用) • 2:过程映像输入(与功能代码 2 一起使用) • 3:保持寄存器(与功能代码 3、6 和 16 一起使用) • 4:输入寄存器(与功能代码 4 一起使用) 注:如果已定义 MODBUS 数据类型的数据区域,则指令 MB_SERVER 不能再直接访问此 MODBUS 数据类型。如果该 数据类型的 MODBUS 请求地址与定义的数据区域不对应,则 STATUS 中会返回值 W#16#8383。 db UInt MODBUS 寄存器或后续定义的位所映射的目标数据块的编号 数据块编号在数据区域中必须是唯一的。不得在多个数据区 域中定义相同的数据块编号。 在全局 DB“属性”(Attributes) 属性页中,必须取消选中“仅存 储在装载存储器中”(only store in load memory) 和“优化块 访问”(Optimized block access) 复选框。 数据区域也是从数据块的字节地址 0 开始。 允许值:1 到 60999 起始 UInt 映射到数据块中的首个 MODBUS 地址(从地址 0.0 开始) 允许值:0 到 65535 长度 UInt 位数(对于 data_type 的值 1 和 2)或寄存器数量(对于 data_type 的值 3 和 4)。 相同 MODBUS 数据类据区域定义示例: • 第一个示例:data_type = 3,db = 1,start = 10,length = 6 CPU 将保持寄存器 (data_type = 3) 映射到数据块 1 (db = 1),将 Modbus 地址 10 (start = 10) 置于数据字 0,将*后一个有效 Modbus 地址 15 (length = 6) 置于数据字 5。 • 第二个示例:data_type = 2,db = 15,start = 1700,length = 112 CPU 将输入 (data_type = 2) 映射到数据块 15 (db = 15),将 Modbus 地址 1700 (start = 1700) 置于数据字 0,将*后一个有效 Modbus 地址 1811 (length = 112) 置于数据字 111。 条件代码 表格 13-70 MB_SERVER 执行条件代码 1 STATUS (W#16#) 发送到 Modbus 服务器的响应代 码 (B#16#) Modbus 协议错误 7001 MB_SERVER 正在等待 Modbus 客户端连接到指定的 TCP 端口。仅在第一次执行 连接或断开操作时才返回此代码。 7002 MB_SERVER 正在等待 Modbus 客户端连接到指定的 TCP 端口。等待完成连接或 断开操作时,将针对任何后续执行返回此代码。 7003 断开操作已成功完成(仅在一个 PLC 扫描周期内有效)。 8187 MB_HOLD_REG 无效,可能指向优化的 DB 或小于 2 个字节的区域。 818C 指针 MB_HOLD_REG 指向未经优化的 DB 区(必须是未经优化的全局 DB 区或 M 存储区)或受阻过程的超时时间超过 55 秒限值。(仅适用于 S7-1200) 8381 01 不支持此功能代码 8382 03 数据长度错误: • 接收到的 Modbus 帧长度无效。 • Modbus 帧头中输入的帧长度与实际接收到的字节数不一致。 • Modbus 帧头中输入的字节数与实际接收到的字节数不一致(功能 15 和 16)。 8383 02 数据地址错误或访问的数据超出 MB_HOLD_REG 地址区的界限QQ截图20230509172530.png不支持该数据诊断代码(功能代码 08) 8389 数据区域定义无效: • data_type 值无效 • 数据块编号无效或不存在: – db 值无效 – 数据块编号不存在 – 数据块编号已由另一个数据区域使用 – 数据块具有优化访问权限 – 数据块不在工作存储器中 • 长度值无效 • 属于同一 MODBUS 数据类型的 MODBUS 地址范围重叠 1 除了上面列出的 MB_SERVER 错误外,也可以从底层传输块通信指令(TCON、TDISCON、 TSEND 和 TRCV)返回错误。ED_CLIENT(作为 Modbus TCP 客户端通过 PROFINET 进行冗余通信) 使用该指令可在 S7-1200 CPU 与支持 Modbus TCP 协议的设备之间建立连接。 表格 13-71 MB_RED_CLIENT 指令 LAD/FBD SCL 描述 "MB_RED_CLIENT_DB"( REG_KEY:=_string_in_, USE_ALL_CONN:=_bool_in_ REQ:=_bool_in_, DISCONNECT:=_bool_in_, MB_MODE:=_usint_in_, MB_DATA_ADDR:=_udint_in_, MB_DATA_LEN:=_uint_in_, LICENSED=>_bool_out_ IDENT_CODE=>_string_out_ DONE=>_bool_out_, BUSY=>_bool_out_, ERROR=>_bool_out_, STATUS_0A=>_word_out_, STATUS_1A=>_word_out_, STATUS_0B=>_word_out_, STATUS_1B=>_word_out_, RED_ERR_S7=>_bool_out_, RED_ERR_DEV=>_bool_out_, TOT_COM_ERR=>_bool_out_, MB_DATA_PTR:=_variant_inout_); MB_RED_CLIENT 指令作为 Modbus TCP 客户端通过 PROFINET 连接进行通信。 可使用指令 MB_RED_CLIENT 在客 户端和服务器之间建立冗余连接、 发送 Modbus 请求、接收响应并通 过 Modbus TCP 客户端控制连接终 止。针对 Modbus TCP 服务器的 Modbus 查询 REQ 为电平控制参数。这意味着只要输入置位 (REQ = TRUE),指 令就会发送通信请求。如果连接尚未建立,此时便会建立,且随 后立即发送 Modbus 帧。 在服务器响应或输出错误消息之前,对输入参数的更改不会生效。 如果在 Modbus 请求期间再次设置了参数 REQ,此后将不会进行 任何其它传输。 DISConNECT IN Bool 借助该参数,可以控制 Modbus 服务器连接的建立和终止: • 0:与通过 ConNECT 参数组态的连接伙伴(请参见 ConNECT 参数)建立通信连接。 • 1:断开通信连接。在终止连接的过程中,不执行任何其它功 能。成功终止连接后,STATUS_x 参数将输出值 0003。 MB_MODE 2 IN USInt 选择 Modbus 请求模式(读取、写入或诊断)或直接选择 Modbus 功能 MB_DATA_ADDR 2 IN UDInt 取决于 MB_MODE 的 Modbus 地址 MB_DATA_LEN IN UInt 数据长度:数据访问的位数或寄存器数 MB_DATA_PTR 2 IN_OUT Variant 指向待从 Modbus 服务器接收的数据或待发送到 Modbus 服务器 的数据所在数据缓冲区的指针。 LICENSED 1 OUT Bool • 0:指令未获授权 • 1:指令已获授权 IDENT_CODE 1 OUT STRING[18 ] 授权标识。使用此字符串申请 REG_KEY 注册码。 DONE OUT Bool 如果激活的 Modbus 作业在至少一个连接上成功完成,则输出参 数 DONE 中的该位将立即置“1”。 BUSY OUT Bool • 0:无正在进行的 Modbus 请求 • 1:正在处理 Modbus 请求 在建立和终止连接期间,输出参数 BUSY 不会置位。 ERROR OUT Bool • 0:无错误 • 1:激活的 Modbus 作业在任何组态的连接上都不能成功传 输。出错原因由参数 STATUS_x 指示。 STATUS_0A 3 OUT Word 连接 0A 上指令的详细状态信息。

相关新闻
联系方式
公司:浔之漫智控技术(上海)有限公司-西门子模组
姓名:吴维(先生)
职位:销售经理
电话:13817547325
手机:13817547325
地区:直辖市-上海
地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
13817547325 请卖家联系我