13 KiB
13 KiB
S7 模块文档 (Python 版本)
S7
S7 读取 Int
-
方法说明
S7 读取 Int。
def read_s7_int(plc_type: str, ip: str, block_and_offset: str) -> Optional[int]:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,读取的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 - 输出参数
None,读取失败。int,读取成功的返回值。- 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 读取 DInt
-
方法说明
S7 读取 DInt。
def read_s7_dint(plc_type: str, ip: str, block_and_offset: str) -> Optional[int]:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,读取的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 - 输出参数
None,读取失败。int,读取成功的返回值。- 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 读取 Word
-
方法说明
S7 读取 Word。
def read_s7_word(plc_type: str, ip: str, block_and_offset: str) -> Optional[int]:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,读取的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 - 输出参数
None,读取失败。int,读取成功的返回值。- 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 读取 DWord
-
方法说明
S7 读取 DWord。
def read_s7_dword(plc_type: str, ip: str, block_and_offset: str) -> Optional[int]:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,读取的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 - 输出参数
None,读取失败。int,读取成功的返回值。- 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 读取 String
-
方法说明
S7 读取 String。
def read_s7_string(plc_type: str, ip: str, block_and_offset: str) -> Optional[str]:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,读取的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 - 输出参数
None,读取失败。str,读取成功的返回值。- 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 读取 Bool
-
方法说明
S7 读取 Bool。
def read_s7_boolean(plc_type: str, ip: str, block_and_offset: str) -> Optional[bool]:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,读取的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 - 输出参数
None,读取失败。bool,读取成功的返回值。- 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 写入 Int
-
方法说明
S7 写入 Int。
def write_s7_int(plc_type: str, ip: str, block_and_offset: str, value: int) -> bool:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,写入的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 value,int 类型,写入的值。- 输出参数
- 成功返回
True,失败返回False。 - 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 写入 DInt
-
方法说明
S7 写入 DInt。
def write_s7_dint(plc_type: str, ip: str, block_and_offset: str, value: int) -> bool:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,写入的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 value,int 类型,写入的值。- 输出参数
- 成功返回
True,失败返回False。 - 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 写入 Word
-
方法说明
S7 写入 Word。
def write_s7_word(plc_type: str, ip: str, block_and_offset: str, value: int) -> bool:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,写入的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 value,int 类型,写入的值。- 输出参数
- 成功返回
True,失败返回False。 - 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 写入 DWord
-
方法说明
S7 写入 DWord。
def write_s7_dword(plc_type: str, ip: str, block_and_offset: str, value: int) -> bool:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,写入的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 value,int 类型,写入的值。- 输出参数
- 成功返回
True,失败返回False。 - 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 写入 String
-
方法说明
S7 写入 String。
def write_s7_string(plc_type: str, ip: str, block_and_offset: str, value: str) -> bool:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,写入的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 value,str 类型,写入的值。- 输出参数
- 成功返回
True,失败返回False。 - 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 写入 Bool
-
方法说明
S7 写入 Bool。
def write_s7_boolean(plc_type: str, ip: str, block_and_offset: str, value: bool) -> bool:
- 输入参数
plc_type,str 类型,PLC 类型,可选值(区分大小写):S1200/S300/S400/S1500/S200Smart/S200。ip,str 类型,PLC IP。block_and_offset,str 类型,写入的地址,支持的区域取值示例如下(区分大小写):地址名称 地址代号 示例 中间寄存器 M M100,M200 输入寄存器 I I100,I200 输出寄存器 Q Q100,Q200 DB块寄存器 DB DB1.100,DB1.200.7 V寄存器 V V100,V200 定时器的值 T T100,T200 计数器的值 C C100,C200 智能输入寄存器 AI AI100,AI200 智能输出寄存器 AQ AQ100,AQ200 value,bool 类型,写入的值。- 输出参数
- 成功返回
True,失败返回False。 - 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 通用写入
-
方法说明
S7 写入 Int、DInt、Word、DWord、String、Bool。
def write_s7(plc_type: str, ip: str, slot: int, rack: int, data_type: str, block_and_offset: str, value: Any) -> bool:
- 输入参数
plc_type:同上ip:同上slot:CPU 模块的插槽号rack:中央机架data_type:在 Int、DInt、Word、DWord、String、Bool 中可选block_and_offset:同上value: 与 data_type 类型匹配的值- 输出参数
- 成功返回
True,失败返回False。 - 异常 本方法不抛出异常,异常捕获后只作日志记录。
S7 通用读取
-
方法说明
S7 读取 Int、DInt、Word、DWord、String、Bool 类型地址的值。
def read_s7(plc_type: str, ip: str, slot: int, rack: int, data_type: str, block_and_offset: str) -> Any:
- 输入参数
plc_type:同上ip:同上slot:CPU 模块的插槽号rack:中央机架data_type:在 Int、DInt、Word、DWord、String、Bool 中可选block_and_offset:同上- 输出参数
None,读取失败。Any,读取成功的返回值。- 异常 本方法不抛出异常,异常捕获后只作日志记录。