예제 #1
0
        def refresh_service_status(self):
            if not self._task.task_is_running():
                self._bindData = False
                self._task.set_status(0)
            else:
                _good_status = False
                _status_value = None

                if not self._bindService:
                    ret = dsif.bindService(self._ip, self._port, self._task.name, 'get_status')
                    if int(ret) == 1:
                        self._bindService = True
                        log.info('获取[%s]状态bind service成功' % self._task.name)
                    else:
                        self._bindService = False
                        log.error('获取[%s]状态bind service异常,原因:%s' % (self._task.name, ret))

                if not self._bindData:
                    # 状态数据对象
                    bindData = pb_data_sensor_list.pb_data_sensor_list()
                    bindData.list_id = 1
                    status_tag = bindData.pb_data_sensors.add()

                    status_tag.name = '%s_status' % self._task.name
                    log.debug('准备[%s]状态数据bind data...' % self._task.name)
                    try:
                        ret = dsif.bindData('get_status', 'pb_data_sensor_list', bindData, 'get_status_list')
                        if int(ret) == 1:
                            self._bindData = True
                            log.info('获取[%s]状态[bind data]成功' % self._task.name)
                        else:
                            self._bindData = False
                            log.error('获取[%s]状态[bind data]失败,原因:%s' % (self._task.name, ret))
                    except Exception as e:
                        self._bindData = False
                        log.error('获取[%s]状态[bind data]异常,原因:%s' % (self._task.name, repr(e)))                

                if self._bindData:
                    self._getData = pb_data_sensor_list.pb_data_sensor_list()
                    try:
                        log.debug('准备[%s]状态数据get data...' % self._task.name)
                        ret = dsif.getData('get_status', 'get_status_list', 'pb_data_sensor_list', self._getData)
                        if ret == 1 and len(self._getData.pb_data_sensors) > 0:
                            _status_value = int(self._getData.pb_data_sensors[0].value)
                            _good_status = True
                            log.debug('[%s]当前运行状态为:%s' % (self._task.name, _status_value))
                        else:
                            log.error('获取[%s]状态[get data]失败,原因:%s' % (self._task.name, ret))
                    except Exception as e:
                        log.error('获取[%s]get data异常,原因:%s' % (self._task.name, repr(e)))

                if _good_status:
                    self._task.set_status(_status_value)
                    self._task.update_status_time(int(time.time()))
                else:
                    self._bindData = False
                    self._task.set_status(0)
예제 #2
0
        def refresh_service_status(self):
            _good_status = False
            _status_value = None
            if not self._bindService:
                ret = dsif.bindService(self._task.ip, self._task.port,
                                       self._task.name, 'get_status')
                if int(ret) == 1:
                    self._bindService = True
                    log.info('获取[%s]状态bind service成功' % self._task.name)
                else:
                    self._bindService = False
                    log.error('获取[%s]状态bind service异常,原因:%s' %
                              (self._task.name, ret))

            if self._task.handle is not None:
                # 状态数据对象
                bindData = pb_data_sensor_list.pb_data_sensor_list()
                bindData.list_id = 1
                status_tag = bindData.pb_data_sensors.add()
                status_tag.name = '%s_status' % self._task.name
                try:
                    ret = dsif.bindData('get_status', 'pb_data_sensor_list',
                                        bindData, 'get_status_list')
                    if int(ret) == 1:
                        self._bindData = True
                        log.info('获取[%s]状态[bind data]成功' % self._task.name)
                    else:
                        self._bindData = False
                        log.error('获取[%s]状态[bind data]异常,原因:%s' %
                                  (self._task.name, ret))
                except Exception as e:
                    self._bindData = False
                    log.error('获取[%s]状态[bind data]异常,原因:%s' %
                              (self._task.name, repr(e)))

                self._getData = pb_data_sensor_list.pb_data_sensor_list()
                try:
                    ret = dsif.getData('get_status', 'get_status_list',
                                       'pb_data_sensor_list', self._getData)
                    if ret == 1 and len(self._getData.pb_data_sensors) > 0:
                        _status_value = int(
                            self._getData.pb_data_sensors[0].value)
                        _good_status = True
                        log.debug('[%s]当前运行状态为:%s' %
                                  (self._task.name, _status_value))
                except Exception as e:
                    log.error('获取[%s]get data异常,原因:%s' %
                              (self._task.name, repr(e)))

                if _good_status:
                    self._task.set_status(_status_value)
                    self._task.set_status_last_time(
                        common.get_current_timespan())
                else:
                    self._task.set_status(0)
예제 #3
0
set_sensor1.type = pb_config_tag.ENUM_INT32
set_sensor1.size = 4
set_sensor1.value = b'100'
set_sensor1.time = int(time.time())
set_sensor2 = setData.pb_data_sensors.add()
set_sensor2.name = '10002'
set_sensor2.type = pb_config_tag.ENUM_INT32
set_sensor2.size = 4
set_sensor2.value = b'200'
set_sensor2.time = int(time.time())
ret = dsif.setData('rtds', 'get_sensor_01', 'pb_data_sensor_list', setData)
print('setData return:', ret)
print('%s setData over %s' % ('-' * number, '-' * number))

#------------------------------------------------------------
time.sleep(3)
getData = pb_data_sensor_list.pb_data_sensor_list()
ret = dsif.getData('rtds', 'get_sensor_01', 'pb_data_sensor_list', getData)
print('getData return: %s, data: %s' % (ret, getData))
print('%s getData over %s' % ('-' * number, '-' * number))

#------------------------------------------------------------
ret = dsif.stop('rtds', 'rtds_01')
print('stop return:', ret)
print('%s stop over %s' % ('-' * number, '-' * number))

#------------------------------------------------------------
ret = dsif.dispose('rtds', 'rtds_01', 'get_sensor_01')
print('dispose return:', ret)
print('%s dispose over %s' % ('-' * number, '-' * number))
예제 #4
0
# tag3.correct_coefficient = 3
# tag3.adiust_parameters = 2
# tag3.data_unit = pb_config_tag.LEN_M

# data_value = opcda.SerializeToString()
# data = pb_data_mongodb.m_config()
# data.config_key = 'config_opc_01'
# data.config_value = data_value

# ret = dsif.setData('s_mongodb_service', 'get_config_opc_01', 'm_config', data)
# print('setData return:', ret)

#------------------------------------------------------------
import pb_data_sensor_list
getData = pb_data_opcalarm_list.pb_data_opcalarm_list()
ret = dsif.getData('s_mongodb_service', 'get_config_opc_01',
                   'pb_data_opcalarm_list', getData)
index = 1
print('getData.pb_data_opcalarms len:', len(getData.pb_data_opcalarms))
for opcalarm in getData.pb_data_opcalarms:
    print('index: %s getdata: %s' % (index, opcalarm))
    index += 1

# opcda_obj = pb_config_opcda_client.pb_config_opcda_client()
# opcda_obj.ParseFromString(getData.config_value)
# print('getData return: %s, data: %s' % (ret, opcda_obj))
print('%s getdata over %s' % ('-' * number, '-' * number))

# ------------------------------------------------------------
ret = dsif.stop('s_mongodb_service', 's_mongodb_service')
print('stop return:', ret)
print('%s stop over %s' % ('-' * number, '-' * number))
예제 #5
0
# tag3.correct_coefficient = 3
# tag3.adiust_parameters = 2
# tag3.data_unit = pb_config_tag.LEN_M

# data_value = opcda.SerializeToString()
# data = pb_data_mongodb.m_config()
# data.config_key = 'config_opc_01'
# data.config_value = data_value

# ret = dsif.setData('s_mongodb_service', 'get_config_opc_01', 'm_config', data)
# print('setData return:', ret)

#------------------------------------------------------------
import pb_data_sensor_list
getData = pb_data_mongodb.m_config()
ret = dsif.getData('s_mongodb_service', 'get_config_opc_01', 'm_config',
                   getData)
print('getdata', getData)
opcda_obj = pb_config_opcda_client.pb_config_opcda_client()
opcda_obj.ParseFromString(getData.config_value)
print('getData return: %s, data: %s' % (ret, opcda_obj))
print('%s getdata over %s' % ('-' * number, '-' * number))

# ------------------------------------------------------------
ret = dsif.stop('s_mongodb_service', 's_mongodb_service')
print('stop return:', ret)
print('%s stop over %s' % ('-' * number, '-' * number))

#------------------------------------------------------------
ret = dsif.dispose('s_mongodb_service', 's_mongodb_service',
                   'get_config_opc_01')
print('dispose return:', ret)