西门子200smart一级经销代理商
其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
与此同时,我们还提供西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球**芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆、
驱动伺服产品、数控设备SIEMENS低压配电与控制产品及软起动器等
Modbus TCP 客户端可支持多个连接,*多可达 PLC 允许的开放式用户通信连接的*大数。 PLC 的连接总数(包括 Modbus TCP 客户端和服务器)不得超过支持的开放式用户通信连接 的*大数 (页 430)。多个客户端连接必须具有不同的 IPAddr 或 IP_Port 输入参数。 建立连接 当 Connect 输入为 TRUE 时,客户端尝试与采用所提供 IP 地址和 IP 端口的服务器设备建立 连接。如果服务器设备无法访问,连接请求*终会超时,这可能需要几秒钟。当连接请求正 在进行时,任何其它操作均无法将其中断或中止。如果服务器不可用,则会立即拒绝客户端 的连接请求。如果服务器可用,则客户端会建立连接,并可向服务器发送请求。如果没有可 用于 Modbus 客户端的连接资源,则 MBUS_CLIENT 指令将返回错误。 处理请求 客户端仅在 Connect = TRUE 时处理请求。客户端与服务器建立连接后,在没有 Modbus 请 求处于激活状态时,程序会通过调用 MBUS_CLIENT (Req = TRUE) 发送新请求。Modbus 客 户端执行请求时,会捕获所有输入值。通过边沿检测元素(例如,上升沿)使 Req 输入呈脉 冲形式,这会使指令发送一次请求。在请求处于激活状态时对输入值所做的任何后续更改都 会导致 MBUS_CLIENT 返回错误代码。 客户端向服务器发送请求后,客户端会等待 mReceiveTimeout 时间段的响应。客户端在等 待响应时,不可用于其它 Modbus 操作。如果客户端在 mReceiveTimeout 时间段内未收到 响应,MBUS_CLIENT 将返回错误。 如果客户端收到来自服务器的有效响应,其将根据响应处理后续操作。随后,客户端返回到 就绪状态,并可用于来自程序的其它请求。 断开已建立的连接 如果 Connect 输入为 FALSE,且客户端和服务器之间存在主动连接时,客户端会尝试断开与 服务器的连接。如果正在进行连接或发送操作,则断开连接操作将返回错误。断开连接请求 不能中断任何操作。如果没有正在进行的操作,则 CPU 将终止主动连接,且客户端返回空 闲状态。随后,连接资源将可用于 CPU 中的其它操作。Modbus TCP 客户端执行错误代码 MBUS_CLIENT 指令 (页 564)可返回以下错误代码: 错误(十进 制) 说明 0 无错误 32 未知状态 检查网络连接,查看程序是否未修改任何会干扰客户端/服务器通信的库符号。 33 连接正忙于另一个请求。一个连接一次只能用于一个 Modbus 请求。 34 Addr 输入是非法值。 35 Count 输入是非法值。 36 RW 输入是非法值。 37 请求的事务 ID 与服务器的响应不匹配。此错误表示服务器设备存在问题,或者响应请求的服 务器设备错误。 从服务器收到无效的协议 ID。 38 从服务器收到无效的协议 ID。 39 服务器发送的字节数与“Count”输入值不匹配 40 请求的单元标识符与服务器的响应不匹配 41 请求的功能代码与服务器的响应不匹配 42 服务器发送的数据与 Modbus TCP 写入功能请求的数据不匹配 43 接收超时:服务器在 mReceiveTimeout 时间段内没有响应。检查与 Modbus 服务器设备的连接。 44 输入值与激活请求的值不匹配。 45 Modbus 数据寄存器范围超出 V 存储器范围。 除了上面列出的 MBUS_CLIENT 错误之外,另BUS_SERVER 指令 表格 10-16 MBUS_SERVER 指令 LAD/FBD STL 说明 Call MBUS_SERVER Connect, IP_Port, MaxIQ, MaxAI, MaxHold, HoldStart, Done, Error MBUS_SERVER 作为 Modbus TCP 服务器通过以太网端 口进行通信。 MBUS_SERVER 可接受与 Modbus TCP 客户端连接的请 求、接收 Modbus 功能请求,以及发送响应消息。 在每次扫描中执行 MBUS_SERVER 指令,以便 Modbus 服务器可在合理时间内响应 Modbus 客户端的请求。MBUS_SERVER 指令用于建立连接、接收请求和发送响应。每次扫描时,程 序均应调用 MBUS_SERVER,否则 Modbus 服务器无法正常运行。 表格 10-17 参数的数据类型 参数和类型 数据类型 说明 Connect IN BOOL 可使用 Connect 参数连接至客户端设备,或从客户端设备断开连接。 Modbus 服务器尝试创建“被动”连接,这表示服务器将接受来自任 一请求 IP 地址的连接请求。 如果 Connect = TRUE,且客户端尚未与服务器建立连接,则服务器将 被动监听 TCP 连接请求。 如果 Connect = FALSE 且存在连接,则服务器将发起断开连接操作。因 此,程序可使用 Connect 参数来控制服务器何时可接受连接。当 Connect = FALSE 时,MBUS_SERVER 不会执行其它操作。 请注意,MBUS_SERVER 可在发生特定 TCP 错误时自动发起断开连接 操作。 IP_Port IN WORD 客户端将尝试连接、且使用 Modbus 应用协议进行通信的服务器的端 口号。 默认值:502 将端口设置为设备的实际端口号说明 MaxIQ IN WORD 参数 MaxIQ 将可用于 Modbus 地址 0xxxx 到 1xxxx 的 I 和 Q 点数设置 为 0 至 256。值 0 表示禁用对输入和输出的所有读取和写入。建议将 MaxIQ 值设置为 256。 MaxAI IN WORD 参数 MaxAI 将可用于 Modbus 地址 3xxxx 的字输入 (AI) 数设置为 0 至 56。值 0 表示禁用对模拟量输入的读取。要允许访问所有 CPU 模拟量 输入,MaxAI 的建议值如下: • 对于 CPU CR40 和 CR60,为 0 • 对于所有其它 CPU 型号,为 56 MaxHold IN WORD 参数 MaxHold 设置可用于 Modbus 地址 4xxxx 或 4yyyyy 的 V 存储器 中的字保持寄存器数。例如,如果要允许 Modbus 客户端访问 2000 字 节的 V 存储器,则将 MaxHold 的值设置为 1000 字(保持寄存器)。 HoldStart IN DWORD 参数 HoldStart 为指向 V 存储器中保持寄存器起始位置的指针。通常 将该值设置为 &VB0(VB0 地址)。可将其它 V 存储器地址设置为保 持寄存器的起始地址,以允许在项目的其他位置使用 VB0。Modbus 客 户端可访问 V 存储器的 HoldStart 字数(从 MaxHold 开始)。 如果 HoldStart 指向超出允许范围的存储位置,则 Modbus TCP 库指令 将返回错误。CPU 还会生成非致命错误:间接寻址错误 (0x06)。 Done OUT BOOL TRUE:MBUS_SERVER 执行下列操作之一: • 连接至客户端设备 • 与客户端断开连接 • 响应 Modbus 请求 • 返回错误 FALSE:没有请求用于此程序周期 Error OUT BYTE 指令执行结果 仅在发生错误后的一个周期内有效 断开连接 当 Connect = TRUE 时,CPU 使用来自开放式用户通信可用连接的一个被动连接资源。在程 序请求 Modbus 操作时,保持 Connect 输入为 TRUE。可将 Connect 设为 FALSE,以释放连 接资源。Modbus 服务器请求连接时,CPU 会捕获输入参数的值。如果在 Connect = TRUE 时 更改输入值,则 MBUS_SERVER 会返回错误。Modbus TCP 服务器执行错误代码 MBUS_SERVER 指令 (页 569)可返回以下错误代码: 错误(十进 制) 说明 0 无错误 32 未知状态 检查网络连接,查看程序是否未修改任何会干扰客户端/服务器通信的库符号。 33 输入 MaxIQ 的值无效 34 输入 MaxAI 的值无效 35 输入 MaxHold 的值无效 36 HoldStart 输入不在 V 存储器中,或者保持寄存器的范围超出 V 存储器范围 37 保持寄存器与 Modbus 服务器符号重叠 38 输入值与当前连接的值不匹配。复位连接以更新输入值。 除了上面列出的 MBUS_SERVER 错误之外,另请参见“Modbus TCP 常规异常代码 (页 580)” 和“开放式用户通信错误代码 (页 605)” 10.4.4 示例:Modbus TCP 应用程序 以下示例为两个 Modbus TCP 客户端与两个 Modbus TCP 服务器进行通信的项目。唯一的 IP 地址可标识每个服务器。程序逻辑可监视 MBUS_CLIENT 指令的“完成”输出,以确保程序 不会中断正在进行的通信请求。该示例程序可执行下列功能: • 写入输出位 • 读取输出位 • 写入保持寄存器 • 读取保持寄存器 程序、程序段和符号注释描述了下表中 Modbus TCP 示例程序的功能。 此示例的基本描述: 两个 Modbus 客户端与两个 Modbus 服务器设备建立连接下表显示了一些 Modbus 客户端变量,如果默认值不适用于您的应用,则可在程序中修改这 些变量以调整 Modbus 客户端的操作: 变量 数据类型 默认值 说明 mBlocked_Proc_Time out REAL 3000 阻止过程超时:在将受阻的 Modbus 客户端实例移除(作 为 ACTIVE)之前等待此实例的时间(以毫秒为单位)。例 如,当程序发出客户端请求,且应用程序在完成请求之前 停止执行客户端功能时,将发生这种情况。 mModbus_Unit_ID WORD 255 Modbus 单元标识符:mModbus_Unit_ID 参数对应于 Modbus RTU 协议中的从站地址。如果 Modbus TCP 服务 器用于 Modbus RTU 协议的网关,则 MB_UNIT_ID 可用于 识别串行网络上连接的从站设备。MB_UNIT_ID 用于将请 求转发到正确的 Modbus RTU 从站地址。 一些 Modbus TCP 设备可能要求 MB_UNIT_ID 参数在限制 范围内。 mReceiveTimeout REAL 2000 接收消息超时:MBUS_CLIENT 等待服务器响应请求的时间 (以毫秒为单位)。范围:500 - 65,535 毫秒。 mConnected BOOL FALSE 连接状态:指示与指定服务器的连接状态是已连接还是已 断开: TRUE:已连接 FALSE:已断开连接 程序可在处理 MBUS_CLIENT 请求后检查 mConnected。 mRetries BYTE 3 重试次数:客户端在初始请求返回连接错误后,尝试断开 连接并重新发送请求的次数 范围:0 至 255 重试 如果存在与连接相关的错误,Modbus 客户端指令会自动重新启动连接,并将请求重新发送 至服务器设备: 设置 Done 和 Error 输出参数之前,Modbus 客户端会重新发送请求两次。 可通过在 Modbus 客户端符号表中查找符号 mModbusRetries,并在程序执行 MBUS_CLIENT 之前更改值,来更改重试次数。mRetries 值为 BYTE,重试次数范围为 0 到 255个位与多个位/字写入功能 一些 Modbus 服务器设备不支持 Modbus 功能写入单个离散输出位(Modbus 功能 5)或写 入单个保持寄存器(Modbus 功能 6)。相反,这些设备只支持多位写入(Modbus 功能 15) 或多寄存器写入(Modbus 功能 16)。如果服务器设备不支持单个位/字 Modbus 功能,则 MBUS_CLIENT 指令将返回错误代码 1。 Modbus 客户端协议允许强制 MBUS_CLIENT 指令使用多个位/字 Modbus 功能,而非使用单 个位/字 Modbus 功能。可通过在 Modbus 客户端符号表中查找符号 mModbusForceMulti, 并在程序执行 MBUS_CLIENT 之前更改此值,来强制多个位/字指令。将 mModbusForceMulti 设置为 TRUE,可在写入单个位或寄存器时强制使用多个位/字功能。 保持寄存器地址大于 49999 Modbus 保持寄存器地址在 40001 到 49999 这一范围内。该范围足以满足大多数应用的要 求,但有些 Modbus 从站设备将数据映射到地址范围更大的保持寄存器中。 MBUS_CLIENT 指令允许参数 Addr 的附加范围,以支持 400001 至 465536 的保持寄存器地 址的扩展范围。 例如,要访问保持寄存器 16768,请将 MBUS_CLIENT 的 Addr 参数设置为 416768。 扩展寻址允许访问 Modbus 协议支持的全部 65536 个可能地址。此扩展寻址仅适用于保持 寄存器。 MBUS_SERVER 变量 下表显示了一些 Modbus 服务器变量,如果默认值不适用于您的应用,则可在程序中修改这 些变量以调整 Modbus 服务器的操作: 变量 数据类 型 默认值 说明 mConnected BOOL 0 连接状态:指示与指定客户端的连接状态是已连接还是已断开: TRUE:已连接 FALSE:已断开连接 每次执行 MBUS_SERVER 指令后,连接状态均为*新