0209整理
This commit is contained in:
79
tests/vf_control.py
Normal file
79
tests/vf_control.py
Normal file
@ -0,0 +1,79 @@
|
||||
import minimalmodbus
|
||||
import time
|
||||
|
||||
from serial import SerialException
|
||||
|
||||
# 设置频率为55Hz并启动变频器
|
||||
def start_inverter_55hz():
|
||||
try:
|
||||
# 1. 连接到变频器
|
||||
# COM3: 串口地址
|
||||
# 1: 从站地址
|
||||
inverter = minimalmodbus.Instrument('COM3', 1)
|
||||
|
||||
# 2. 配置串口参数
|
||||
inverter.serial.baudrate = 9600 # 波特率
|
||||
inverter.serial.bytesize = 8 # 数据位
|
||||
inverter.serial.parity = 'N' # 无校验
|
||||
inverter.serial.stopbits = 1 # 停止位
|
||||
inverter.serial.timeout = 1.0 # 超时时间
|
||||
inverter.mode = minimalmodbus.MODE_RTU # RTU模式
|
||||
|
||||
print("✅ 已连接到变频器")
|
||||
|
||||
# 3. 设置频率为55Hz
|
||||
# 假设最大频率为50Hz,55Hz对应110% = 11000
|
||||
# # 如果您的最大频率不同,请调整下面的计算
|
||||
# frequency_value = int(70 * 100)
|
||||
# inverter.write_register(0x1000, frequency_value)
|
||||
# print(f"✅ 频率设置为200Hz")
|
||||
|
||||
frequency_value = int(210 * 100)
|
||||
inverter.write_register(0x7310, frequency_value)
|
||||
|
||||
# freq = inverter.read_register(0x7310)
|
||||
# print(f" 读取到的频率值: {freq}")
|
||||
|
||||
# max_freq = 300
|
||||
# target_freq = 230
|
||||
# frequency_value = int(target_freq / max_freq * 100 * 100) # = 2333
|
||||
# inverter.write_register(0x1000, frequency_value)
|
||||
|
||||
# time.sleep(0.5) # 等待一下
|
||||
|
||||
# 4. 启动变频器(正转运行)
|
||||
inverter.write_register(0x2000, 1) # 1=正转运行
|
||||
print("✅ 变频器已启动(正转运行)")
|
||||
|
||||
# time.sleep()
|
||||
|
||||
# inverter.write_register(0x2000, 6) # 1=正转运行
|
||||
# print("✅ 变频器已停止(正转运行)")
|
||||
|
||||
# 5. 检查状态
|
||||
time.sleep(1)
|
||||
#读取3000H可直接读取变频器的当前状态(0001:正转运行;0002:反转运行;0003:停机;0004:电机参数辨识;0005:故障)。
|
||||
status = inverter.read_register(0x3000)
|
||||
|
||||
if status == 1:
|
||||
print("✅ 变频器正在正转运行")
|
||||
elif status == 5:
|
||||
print("⚠️ 变频器故障")
|
||||
else:
|
||||
print(f"📊 变频器状态码: {status}")
|
||||
|
||||
except SerialException:
|
||||
print('无法连接或打开串口')
|
||||
except Exception as e:
|
||||
print(f"❌ 错误: {e}")
|
||||
print("请检查:")
|
||||
print("1. COM3端口是否正确?")
|
||||
print("2. 变频器电源和通信线是否连接正常?")
|
||||
print("3. 变频器地址和波特率设置是否正确?")
|
||||
|
||||
finally:
|
||||
print("脚本执行完成")
|
||||
|
||||
# 运行
|
||||
if __name__ == "__main__":
|
||||
start_inverter_55hz()
|
||||
Reference in New Issue
Block a user