Euromap63-IMM模拟器
项目仓库:https://github.com/tang0-0/Eu63-Collecter
Euromap 63协议认识:https://blog.youkuaiyun.com/lblmlms/article/details/129431977
Euromap63-IMM模拟器:<>
Eu63-Collecter:<>
思路
- 建立FTP连接,进入指定目录
- 检索目标目录下有没有SESSION和JOB文件
- 生成会话层响应文件、表示层响应文件和应用层响应文件
- 上传这三个文件
- 删除会话请求文件,结束会话
- 周期扫描
实现
from ftplib import FTP
import os
import time
FTP_IP = "pp"
FTP_PORT = 21
FTP_USER = "adm"
FTP_PASSWORD = "123456"
IMM_FOLDER = "/IMM01"
SESSION_REQ_FILE_NAME = "SESS0000.REQ"
SESSION_RSP_FILE_NAME = "SESS0000.RSP"
REPORT_JOB_FILE_NAME = "0000R000.JOB"
REPORT_DAT_FILE_NAME = "0000R000.DAT"
SET_JOB_FILE_NAME = "0000S000.JOB"
PARAM_LIST=["ABC001","ABC002","ABC003","ABC004","ABC005","ABC006","ABC007","ABC008","ABC009","ABC010"]
PARAM_VALUE = 0
def write_session_rsp_file(job,result):
if job == 0:
return
with open(os.path.abspath(SESSION_RSP_FILE_NAME), mode='wt+', encoding='utf-8') as file:
if result:
file.write("00000000 PROCESSED;\r")
file.write("00000001 PROCESSED;")
else:
file.write("00000000 ERROR 05 00000001 \"This is a error\";\r")
file.write("00000001 ERROR 05 00000007 \"This is a error\";")
file.close()
def write_job_rsp_file(type

该代码实现了一个基于Python的Euromap63-IMM模拟器,它使用FTP连接到服务器,检查并响应SESSION和JOB文件。程序生成会话层、表示层和应用层的响应文件,并上传到FTP服务器,然后删除会话请求文件,按照设定的时间间隔循环执行。
最低0.47元/天 解锁文章
3399

被折叠的 条评论
为什么被折叠?



