July 4th Wednesday (七月 四日 水曜日)
2007-08-04 17:19
465 查看
I have written another tool to make another kind of test messages -- control.
import sys
templet = [ '// メッセージID:######## 機能名:電力デマンド制御スキップ 警報 通知',
'// 種別:ブロードキャスト プロトコルタイプ:###########',
'//',
'//********** ヘッダ部 **********',
'0000:F2 //種別',
'0001:03 //プロトコルタイプ',
'0002:00 //メッセージレングス',
'0003:49 //',
'0004:07 //プライオリティ',
'0005:00 //エラーコード',
'0006:00 //インボークドID',
'0007:00 //',
'0008:00 //2*SEG+MOR',
'0009:00 //シーケンシャルNo(セグメント連番)',
'0010:00 //RFU',
'0011:00 //RFU',
'0012:00 //RFU',
'0013:00 //RFU',
'0014:00 //RFU',
'0015:00 //RFU',
'//',
'//********** 構造定義部 **********',
'0016:32 //通知サービス',
'0017:00 //RFU',
'0018:00 //オブジェクトクラス名称',
'0019:02 // ',
'0020:00 //時',
'0021:11 //分',
'0022:12 //秒',
'0023:13 //1/100秒',
'0024:00 //通知オブジェクト個数',
'0025:01 //',
'0026:07 //通知元モジュールNo DATABASE',
'0027:D1 //',
'//',
'//********** 通知属性指定構造 **********',
'0028:08 //通知属性値個数',
'0029:00 //RFU',
'0030:00 //etyp(1)',
'0031:01 //',
'0032:00 //keyp(2)',
'0033:02 //',
'0034:00 //ctyp(3)',
'0035:03 //',
'0036:00 //prno(4)',
'0037:04 //',
'0038:00 //altp(5)',
'0039:05 //',
'0040:00 //alst(6)',
'0041:06 //',
'0042:00 //cval(7)',
'0043:07 //',
'0044:00 //chtm(8)',
'0045:08 //',
'0046:00 //RFU',
'0047:00 //RFU',
'//',
'//********** 通知属性値構造 **********',
'0046:08 //通知属性個数',
'0047:01 //タイプ',
'0048:01 //イベントタイプ ',
'0049:02 //タイプ',
'0050:23 //モジュール',
'0051:2a //2a',
'0052:01 //タイプ',
'0053:05 //制御種別',
'0054:01 //タイプ',
'0055:02 //制御プログラムNo',
'0056:01 //タイプ',
'0057:03 //警報種別',
'0058:01 //タイプ',
'0059:01 //アラームステータス',
'0060:05 //タイプ',
'0061:03 //小数点位置1',
'0062:11 //制御値1',
'0063:11 // ',
'//0064:05 //タイプ',
'//0065:02 //小数点位置2',
'//0066:22 //制御値2',
'//0067:22 //',
'0068:02 //タイプ',
'0069:00 //イベント発生時刻 使用しない',
'0070:00 //',
'//']
#main
if __name__ == '__main__':
txts = []
cntl_types = [1, 2, 3, 4, 5, 7, 8, 9, 10, 15, 16, 17]
base_dir = './制御型/'
file_name = 'CTL_Case'
ev_str=''
ctl_str=''
alm_kind_str=''
alm_stat_str=''
# event types
ci = 1
for ev in range(1, 4):
ev_str = '0048:0'+str(ev) +' //イベントタイプ '
# cntl
for ctl in cntl_types:
if ctl < 10: # 1 ~ 9
ctl_str = '0053:0'+str(ctl)+' //制御種別'
elif ctl <=15: # 10 ~ 15
h = hex(ctl)
ctl_str = '0053:0'+ h[-1] +' //制御種別'
else: # 16 ~
h = hex(ctl)
ctl_str = '0053:'+ h[-2:] +' //制御種別'
# alm_kind
if ctl == 8 or ctl == 15:
for alm_kind in range(1, 8):
alm_kind_str = '0057:0'+str(alm_kind)+' //警報種別'
# alm_stat
for alm_stat in range(0, 2):
alm_stat_str = '0059:0' + str(alm_stat) + ' //アラームステータス'
st_name = '_Evttyp_' + str(ev) + '_Almsta_' + str(alm_stat) + '_Ctltyp_' + str(ctl) + '_Almkind_' + str(alm_kind)
fname = base_dir + '/' + file_name + str(ci) + st_name + '.txt'
txts.append([fname, ev_str, ctl_str, alm_kind_str, alm_stat_str])
ci = ci + 1
else:
alm_kind_str = '0057:0'+str(1)+' //警報種別'
# alm_stat
for alm_stat in range(0, 2):
alm_stat_str = '0059:0' + str(alm_stat) + ' //アラームステータス'
st_name = '_Evttyp_' + str(ev) + '_Almsta_' + str(alm_stat) + '_Ctltyp_' + str(ctl) + '_Almkind_' + str(1)
fname = base_dir + '/' + file_name + str(ci) + st_name + '.txt'
txts.append([fname, ev_str, ctl_str, alm_kind_str, alm_stat_str])
ci = ci + 1
i = 0
for t in txts:
f = open(t[0], 'w')
for ln in templet:
row_no = ln[:4] # get a row no.
# event types
if row_no == '0048':
f.write(t[1] + '/r/n')
elif row_no == '0053':
f.write(t[2] + '/r/n')
elif row_no == '0057':
f.write(t[3] + '/r/n')
elif row_no == '0059':
f.write(t[4] + '/r/n')
else:
f.write(ln+'/r/n')
f.close()
i = i + 1
import sys
templet = [ '// メッセージID:######## 機能名:電力デマンド制御スキップ 警報 通知',
'// 種別:ブロードキャスト プロトコルタイプ:###########',
'//',
'//********** ヘッダ部 **********',
'0000:F2 //種別',
'0001:03 //プロトコルタイプ',
'0002:00 //メッセージレングス',
'0003:49 //',
'0004:07 //プライオリティ',
'0005:00 //エラーコード',
'0006:00 //インボークドID',
'0007:00 //',
'0008:00 //2*SEG+MOR',
'0009:00 //シーケンシャルNo(セグメント連番)',
'0010:00 //RFU',
'0011:00 //RFU',
'0012:00 //RFU',
'0013:00 //RFU',
'0014:00 //RFU',
'0015:00 //RFU',
'//',
'//********** 構造定義部 **********',
'0016:32 //通知サービス',
'0017:00 //RFU',
'0018:00 //オブジェクトクラス名称',
'0019:02 // ',
'0020:00 //時',
'0021:11 //分',
'0022:12 //秒',
'0023:13 //1/100秒',
'0024:00 //通知オブジェクト個数',
'0025:01 //',
'0026:07 //通知元モジュールNo DATABASE',
'0027:D1 //',
'//',
'//********** 通知属性指定構造 **********',
'0028:08 //通知属性値個数',
'0029:00 //RFU',
'0030:00 //etyp(1)',
'0031:01 //',
'0032:00 //keyp(2)',
'0033:02 //',
'0034:00 //ctyp(3)',
'0035:03 //',
'0036:00 //prno(4)',
'0037:04 //',
'0038:00 //altp(5)',
'0039:05 //',
'0040:00 //alst(6)',
'0041:06 //',
'0042:00 //cval(7)',
'0043:07 //',
'0044:00 //chtm(8)',
'0045:08 //',
'0046:00 //RFU',
'0047:00 //RFU',
'//',
'//********** 通知属性値構造 **********',
'0046:08 //通知属性個数',
'0047:01 //タイプ',
'0048:01 //イベントタイプ ',
'0049:02 //タイプ',
'0050:23 //モジュール',
'0051:2a //2a',
'0052:01 //タイプ',
'0053:05 //制御種別',
'0054:01 //タイプ',
'0055:02 //制御プログラムNo',
'0056:01 //タイプ',
'0057:03 //警報種別',
'0058:01 //タイプ',
'0059:01 //アラームステータス',
'0060:05 //タイプ',
'0061:03 //小数点位置1',
'0062:11 //制御値1',
'0063:11 // ',
'//0064:05 //タイプ',
'//0065:02 //小数点位置2',
'//0066:22 //制御値2',
'//0067:22 //',
'0068:02 //タイプ',
'0069:00 //イベント発生時刻 使用しない',
'0070:00 //',
'//']
#main
if __name__ == '__main__':
txts = []
cntl_types = [1, 2, 3, 4, 5, 7, 8, 9, 10, 15, 16, 17]
base_dir = './制御型/'
file_name = 'CTL_Case'
ev_str=''
ctl_str=''
alm_kind_str=''
alm_stat_str=''
# event types
ci = 1
for ev in range(1, 4):
ev_str = '0048:0'+str(ev) +' //イベントタイプ '
# cntl
for ctl in cntl_types:
if ctl < 10: # 1 ~ 9
ctl_str = '0053:0'+str(ctl)+' //制御種別'
elif ctl <=15: # 10 ~ 15
h = hex(ctl)
ctl_str = '0053:0'+ h[-1] +' //制御種別'
else: # 16 ~
h = hex(ctl)
ctl_str = '0053:'+ h[-2:] +' //制御種別'
# alm_kind
if ctl == 8 or ctl == 15:
for alm_kind in range(1, 8):
alm_kind_str = '0057:0'+str(alm_kind)+' //警報種別'
# alm_stat
for alm_stat in range(0, 2):
alm_stat_str = '0059:0' + str(alm_stat) + ' //アラームステータス'
st_name = '_Evttyp_' + str(ev) + '_Almsta_' + str(alm_stat) + '_Ctltyp_' + str(ctl) + '_Almkind_' + str(alm_kind)
fname = base_dir + '/' + file_name + str(ci) + st_name + '.txt'
txts.append([fname, ev_str, ctl_str, alm_kind_str, alm_stat_str])
ci = ci + 1
else:
alm_kind_str = '0057:0'+str(1)+' //警報種別'
# alm_stat
for alm_stat in range(0, 2):
alm_stat_str = '0059:0' + str(alm_stat) + ' //アラームステータス'
st_name = '_Evttyp_' + str(ev) + '_Almsta_' + str(alm_stat) + '_Ctltyp_' + str(ctl) + '_Almkind_' + str(1)
fname = base_dir + '/' + file_name + str(ci) + st_name + '.txt'
txts.append([fname, ev_str, ctl_str, alm_kind_str, alm_stat_str])
ci = ci + 1
i = 0
for t in txts:
f = open(t[0], 'w')
for ln in templet:
row_no = ln[:4] # get a row no.
# event types
if row_no == '0048':
f.write(t[1] + '/r/n')
elif row_no == '0053':
f.write(t[2] + '/r/n')
elif row_no == '0057':
f.write(t[3] + '/r/n')
elif row_no == '0059':
f.write(t[4] + '/r/n')
else:
f.write(ln+'/r/n')
f.close()
i = i + 1
相关文章推荐
- July 18th Wednesday (七月 十八日 水曜日)
- 2008 July 4th Friday (七月 四日 金曜日)
- 2008 July 30th Wednesday (七月 三十日 水曜日)
- July 15th Wednesday (七月 十五日 水曜日)
- July 11th Wednesday (七月 十一日 水曜日)
- 2008 July 9th Wednesday (七月 九日 水曜日)
- July 25th Wednesday (七月 二十五日 水曜日)
- July 8th Wednesday (七月 八日 水曜日)
- July 29th Wednesday (七月 二十九日 水曜日)
- 2008 July 23th Wednesday (七月 二十三日 水曜日)
- 2008 July 2nd Wednesday (七月 二日 水曜日)
- February 4th Wednesday 2009 (二月 四日 水曜日)
- July 1st Wednesday (七月 一日 水曜日)
- July 22th Wednesday (七月 二十二日 水曜日)
- April 4th Wednesday (四月 四日 水曜日)
- 2009 March 4th Wednesday (三月 四日 水曜日)
- 2008 July 16th Wenesday (七月 十六日 水曜日)
- 极大似然估计-七月算法(julyedu.com)4 月机器学习算法班学习笔记
- Februray 14th Wednesday (一月 十四日 水曜日)
- Aprial 11th Wednesday (四月 十一日 水曜日)