RS-485
IDC 센터에서 근무하며 온습도계, 항온항습기, 정류기 등의 설비추가를 통해 배운 지식을 바탕으로 작성하였습니다.
import ConfigParser
from pymodbus.client.sync import ModbusSerialClient as ModbusClient
import socket
import time
class temperature
def __init__(self):
self.__main_ser_ip__ = ""
self.__main_ser_port_ = ""
self.__sub_ser_ip__ = ""
self.__sub_ser_port__ = ""
self.__server_id__ = ""
self.__dev_type__ = ""
self.__floor__ = ""
self.__device_num__ = {"1":1, "2":2, "3",3, "4":4, "5":5,
"6":6, "7":7, "8":8, "9":9, "10":10, "11":11, "12":12, "13",13, "14":14, "15":15, "16":16}
self.parser_config()
self.mount()
# config.ini file 불러오기
def parser_config(self):
config=ConfigParser.ConfigParser()
config.read('config.ini')
self.__main_ser_ip = str(config.get('SERVER1', 'ip'))
self.__main_ser_port = str(config.get('SERVER1', 'port'))
self.__sub_ser_ip = str(config.get('SERVER2', 'ip'))
self.__sub_ser_port = str(config.get('SERVER2', 'port'))
self.__server_id__ = int(config.get('DEV_INFO', 'server_id'))
self.__dev_type__ = int(config.get('DEV_INFO', 'dev_type'))
self.__floor__ = int(config.get('DEV_INFO', 'floor'))
# mount 인식하여 connection
def monut(self):
self.__client__ = ModbusClient
self.__client__.connect()
# mount connection으로 해당 장치에서 데이터 return
def process(self, client, dev_num):
rr = client.read_input_registers(0, 2, unit=int(dev_num))
if not rr.isError():
temp = rr.registers[0]
humi = rr.registers[1]
data = {"server_id" : self.__server_id__, "dev_type": self.__dev_type__, "dev_num": fms_num, "temp": temp, "humi": humi, "link": 1, "floor": self.__floor__}
return data
... 생략 ...
위의 코드는 온습도계 세팅 및 연결 코드입니다.
'FMS' 카테고리의 다른 글
FMS[1] (Facilty Management System) (0) | 2021.09.28 |
---|
댓글