• <cite id="uwv89"></cite>
      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        zmrs163
        級別: 家園常客
        精華主題: 0
        發帖數量: 420 個
        工控威望: 571 點
        下載積分: 1588 分
        在線時間: 345(小時)
        注冊時間: 2017-06-12
        最后登錄: 2025-09-01
        查看zmrs163的 主題 / 回貼
        樓主  發表于: 41天前
        隨著一些機型轉換,我們的程序也需要進行轉換,一些轉換可以通過軟件自動完成,一些轉換需要人工進行更改。這個帖子主要討論的是地址變化時的轉換方式。
        目前來說,三菱的梯形圖可以導出成CSV文件,所有的軟元件在這個CSV文件中都可以看到。如果我們直接操作這個CSV文件對程序進行轉換,顯然可以更加方便得轉程序,因為我們可以借助一些腳本提升操作效率,一些情況下,地址存在重疊的情況,比如X0改成X10,但是原來的X10要改成X20,這種情況用軟件批量替換要分兩次走,一個不注意要進行大量返工,以下是我自己寫的python腳本的代碼,自己隨意寫的,有能力有需要的同志可以自己制作類似的,含有FB的我目前還沒測試,不過應該問題不大,畢竟只是實參需要替換一下。
        import csv

        path = r""    #導出程序CSV文件的地址
        path2 = r""  #生成一個文件,包含了所有的軟元件地址,需要手動在其中第二列填寫變更后的地址
        path3 = r""  #生成的新文件的地址
        before_list = []  #原程序所有的地址列表
        address_dict = dict()  #存儲映射關系的字典


        # 讀取所有的地址
        r = 1
        with open(path, mode='r',encoding='utf-16-le') as file:
            for line in file:
                line_splited = line.split('\t')
                if r >= 4:
                    add = line_splited[3].strip('"')
                    if add != '' and add not in before_list:
                        before_list.append(add)
                r += 1


        # 生成CSV,存儲所有的地址,需要手動在其中第二列填寫變更后的地址
        s = input("是否生成TRANS,Y/N")
        if s=="Y":
            with open(path2, mode='w',encoding='utf-16-le',newline="") as file:
                csv_writer = csv.writer(file)
                before_list.sort()
                for add in before_list:
                    csv_writer.writerow([add])


        # 自行填寫TRANS后再讀取,wps保存編碼為ANSI,默認好像就是這個編碼
        s = input("任意鍵繼續讀取TRANS")
        with open(path2, mode='r') as file:
            csv_reader = csv.reader(file)
            for row in csv_reader:
                if row[1] != "":
                    address_dict[row[0]] = row[1]
        for k,v in address_dict.items():
            print(k,v)

        # 重新生成程序文件
        index = 1
        with open(path, mode='r',encoding='utf-16-le') as file:
            new_file = open(path3,mode='w',encoding='utf-16-le')
            for line in file:
                if index >= 4:
                    r = [s.strip("\"") for s in line.split('\t')]
                    old_address = r[3]  #替換主要由這三行進行
                    new_address = address_dict.get(r[3],r[3])
                    new_file.write(line.replace(old_address,new_address))
                else:
                    new_file.write(line)
                index += 1

        new_file.close()
        linan7921
        龍的傳人
        級別: 工控俠客
        精華主題: 0
        發帖數量: 105 個
        工控威望: 2527 點
        下載積分: 23 分
        在線時間: 97(小時)
        注冊時間: 2020-05-21
        最后登錄: 2025-09-02
        查看linan7921的 主題 / 回貼
        1樓  發表于: 32天前
              

        主站蜘蛛池模板: 精品午夜福利无人区乱码| 午夜高清福利在线观看| 一区二区三区鲁丝不卡| 韩国午夜福利片在线观看| 国产一区二区三区色老头| 成人一区二区不卡国产| 97无码人妻福利免费公开在线视频| 亚洲成av人片无码天堂下载| 四虎成人免费视频在线播放| 粗壮挺进邻居人妻无码| 国产99久久亚洲综合精品西瓜tv| 亚洲国产韩国欧美在线| 精品日韩色国产在线观看| 久久综合久中文字幕青草| 国产欧美精品aaaaaa片| 国内精品极品久久免费看| 91福利一区福利二区| 人妻少妇精品久久| 国产精品无遮挡在线观看| 日韩精品无码区免费专区 | 成人无码视频在线观看免费播放 | 无码熟妇人妻AV在线影片最多| 亚洲区一区二区激情文学| 四虎影视一区二区精品| 性姿势真人免费视频放| 亚洲精品日韩中文字幕| 亚洲五月天一区二区三区| 欧美嫩交一区二区三区| 一个人免费观看WWW在线视频| 91精品国产蜜臀在线观看| 一区二区不卡国产精品| 中文字幕日本一区二区在线观看| 亚洲一区二区三区自拍偷拍| 亚洲国产欧美一区二区好看电影| 亚洲av专区一区| 精品久久免费国产乱色也| 97无码人妻福利免费公开在线视频| 精品国产91久久粉嫩懂色| 亚洲天堂伊人久久a成人| 体态丰腴的微胖熟女的特征| 精品国产中文字幕在线看|