Euromap63-IMM模拟器

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

Euromap63-IMM模拟器

项目仓库:https://github.com/tang0-0/Eu63-Collecter
Euromap 63协议认识:https://blog.youkuaiyun.com/lblmlms/article/details/129431977
Euromap63-IMM模拟器:<>
Eu63-Collecter:<>

思路

  1. 建立FTP连接,进入指定目录
  2. 检索目标目录下有没有SESSION和JOB文件
  3. 生成会话层响应文件、表示层响应文件和应用层响应文件
  4. 上传这三个文件
  5. 删除会话请求文件,结束会话
  6. 周期扫描

实现


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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tangYi0_0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值