dgl4245123
非标自动化编程设计。。。17798956193
级别: 探索解密
精华主题: 0
发帖数量: 143 个
工控威望: 178 点
下载积分: 4499 分
在线时间: 96(小时)
注册时间: 2023-04-03
最后登录: 2024-11-14
查看dgl4245123的 主题 / 回贴
楼主  发表于: 2024-04-09 15:34
图片:
不要喷我,大部分人都搞不定!!!
非标自动化编程设计。。。17798956193
账号又没了
级别: 略有小成
精华主题: 0
发帖数量: 42 个
工控威望: 227 点
下载积分: 269 分
在线时间: 43(小时)
注册时间: 2021-12-02
最后登录: 2024-11-07
查看账号又没了的 主题 / 回贴
1楼  发表于: 2024-08-14 16:48
引用
引用第70楼es_ice于2024-07-23 08:52发表的  :
效果: [attachment=301475]  [attachment=301476]

源码:[code]
PROGRAM PLC_PRG
VAR_INPUT
.......

让我想起了屎山代码
账号又没了
级别: 略有小成
精华主题: 0
发帖数量: 42 个
工控威望: 227 点
下载积分: 269 分
在线时间: 43(小时)
注册时间: 2021-12-02
最后登录: 2024-11-07
查看账号又没了的 主题 / 回贴
2楼  发表于: 2024-08-15 08:51
以下是一个简单的伪代码示例,展示了“提取防错系统”的基本功能。假设你使用的是Python。

python<button><svg><path></path></svg><span>Copy code</span><span></span></button>
class TakeMaterialSystem:
    def __init__(self):
        self.material_order = []
        self.teach_mode_active = False
        self.current_position = 0
        
    def set_material_order(self, order):
        self.material_order = order
    
    def take_material(self):
        for position in self.material_order:
            self.light_indication(position)
            if self.check_order(position):
                print(f"取料:{position}")
            else:
                print("顺序错误,报警!")
                break
            
    def light_indication(self, position):
        # 模拟指示灯亮起
        print(f"指示灯亮起:{position}")

    def check_order(self, position):
        # 检查顺序是否正确
        return position == self.material_order[self.current_position]
    
    def teach_mode(self):
        self.teach_mode_active = True
        self.material_order = []  # 清空当前顺序
        print("进入Teach模式,请输入顺序:")
        while True:
            order_input = input("输入料号(输入空行结束):")
            if order_input == "":
                break
            self.material_order.append(order_input)
        
    def reset(self):
        self.current_position = 0
        print("系统复位,灯光程序重新开始。")

# 使用示例
system = TakeMaterialSystem()
while True:
    command = input("选择命令(1: 工作模式, 2: Teach模式, 3: 复位, 4: 退出):")
    if command == '1':
        system.set_material_order(['123', '231'])  # 示例顺序
        system.take_material()
    elif command == '2':
        system.teach_mode()
    elif command == '3':
        system.reset()
    elif command == '4':
        break
    else:
        print("无效命令,请重试。")

程序说明
初始化:TakeMaterialSystem类用于管理取料系统的状态。
设置取料顺序:通过set_material_order方法设置取料顺序。
取料功能:take_material方法用于按顺序取料并检查顺序是否正确。
Teach模式:允许用户自定义取料顺序。
复位功能:重置系统状态。

你可以根据需要扩展和完善这个程序!



chatgtp写的