"""
motor_0_running = 0 #v0.0
motor_1_running = 1 #v0.1
motor_2_running = 2 #v0.2
motor_3_running = 3 #v0.3
motor_4_running = 4 #v0.4
motor_5_running = 5 #v0.5
motor_6_running = 6 #v0.6
motor_7_running = 7 #v0.7
motor_8_running = 8 #v1.0
motor_9_running = 9 #v1.1
motor_10_running = 10 #v1.2
motor_11_running = 11 #v1.3
motor_12_running = 12 #v1.4
motor_13_running = 13 #v1.5
motor_14_running = 14 #v1.6
motor_15_running = 15 #v1.7
motor_16_running = 16 #v2.0
motor_17_running = 17 #v2.1
motor_18_running = 18 #v2.2
motor_19_running = 19 #v2.3
motor_20_running = 20 #v2.4
motor_21_running = 21 #v2.5
motor_22_running = 22 #v2.6
motor_23_running = 23 #v2.7
motor_24_running = 24 #v3.0
motor_25_running = 25 #v3.1
motor_26_running = 26 #v3.2
motor_27_running = 27 #v3.3
motor_28_running = 28 #v3.4
motor_29_running = 29 #v3.5
motor_30_running = 30 #v3.6
motor_31_running = 31 #v3.7
"""
import time
from snap7 import client
def connect_plc() -> client.Client:
plc = client.Client()
plc.set_connection_type(3)
plc.connect("192.168.5.20", 0, 1)
return plc
def write_to_plc(start_addr, byte: bytes):
plc = connect_plc()
plc.db_write(1, start_addr, byte)
plc.disconnect()
def read_plc(start_addr, num) -> bytearray:
plc = connect_plc()
data = plc.db_read(1, start_addr, num)
plc.disconnect()
return data
v = 24
while True:
data =read_plc(0,4)
byte_index = v//8
bit_index = v % 8
bit = data[byte_index]>>bit_index & 0b1
#第二種寫法
# bit2 = data[0] & 0B0010_00
if bit:
print("設(shè)備在運(yùn)行")
else:
print("設(shè)備停止中")
time.sleep(0.4)
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭(zhēng)議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。