PLCControler.py
changeset 560 3757f0de0d07
parent 555 b6f9d08fd69f
child 566 6014ef82a98a
equal deleted inserted replaced
559:984c51d1bf6b 560:3757f0de0d07
  2560             resource.setpouInstance([])
  2560             resource.setpouInstance([])
  2561             task_list = {}
  2561             task_list = {}
  2562             for task in tasks:
  2562             for task in tasks:
  2563                 new_task = plcopen.resource_task()
  2563                 new_task = plcopen.resource_task()
  2564                 new_task.setname(task["Name"])
  2564                 new_task.setname(task["Name"])
  2565                 if task["Single"] != "":
  2565                 if task["Triggering"] == "Interrupt":
  2566                     new_task.setsingle(task["Single"])
  2566                     new_task.setsingle(task["Single"])
  2567 ##                result = duration_model.match(task["Interval"]).groups()
  2567 ##                result = duration_model.match(task["Interval"]).groups()
  2568 ##                if reduce(lambda x, y: x or y != None, result):
  2568 ##                if reduce(lambda x, y: x or y != None, result):
  2569 ##                    values = []
  2569 ##                    values = []
  2570 ##                    for value in result[:-1]:
  2570 ##                    for value in result[:-1]:
  2573 ##                        else:
  2573 ##                        else:
  2574 ##                            values.append(0)
  2574 ##                            values.append(0)
  2575 ##                    if result[-1] is not None:
  2575 ##                    if result[-1] is not None:
  2576 ##                        values.append(int(float(result[-1]) * 1000))
  2576 ##                        values.append(int(float(result[-1]) * 1000))
  2577 ##                    new_task.setinterval(datetime.time(*values))
  2577 ##                    new_task.setinterval(datetime.time(*values))
  2578                 if task["Interval"] != "":
  2578                 if task["Triggering"] == "Cyclic":
  2579                     new_task.setinterval(task["Interval"])
  2579                     new_task.setinterval(task["Interval"])
  2580                 new_task.setpriority(int(task["Priority"]))
  2580                 new_task.setpriority(int(task["Priority"]))
  2581                 if task["Name"] != "":
  2581                 if task["Name"] != "":
  2582                     task_list[task["Name"]] = new_task
  2582                     task_list[task["Name"]] = new_task
  2583                 resource.appendtask(new_task)
  2583                 resource.appendtask(new_task)
  2596             instances_data = []
  2596             instances_data = []
  2597             for task in tasks:
  2597             for task in tasks:
  2598                 new_task = {}
  2598                 new_task = {}
  2599                 new_task["Name"] = task.getname()
  2599                 new_task["Name"] = task.getname()
  2600                 single = task.getsingle()
  2600                 single = task.getsingle()
  2601                 if single:
  2601                 if single is not None:
  2602                     new_task["Single"] = single
  2602                     new_task["Single"] = single
  2603                 else:
  2603                 else:
  2604                     new_task["Single"] = ""
  2604                     new_task["Single"] = ""
  2605                 interval = task.getinterval()
  2605                 interval = task.getinterval()
  2606                 if interval:
  2606                 if interval is not None:
  2607 ##                    text = ""
  2607 ##                    text = ""
  2608 ##                    if interval.hour != 0:
  2608 ##                    if interval.hour != 0:
  2609 ##                        text += "%dh"%interval.hour
  2609 ##                        text += "%dh"%interval.hour
  2610 ##                    if interval.minute != 0:
  2610 ##                    if interval.minute != 0:
  2611 ##                        text += "%dm"%interval.minute
  2611 ##                        text += "%dm"%interval.minute
  2618 ##                            text += "%dms"%(interval.microsecond / 1000)
  2618 ##                            text += "%dms"%(interval.microsecond / 1000)
  2619 ##                    new_task["Interval"] = text
  2619 ##                    new_task["Interval"] = text
  2620                     new_task["Interval"] = interval
  2620                     new_task["Interval"] = interval
  2621                 else:
  2621                 else:
  2622                     new_task["Interval"] = ""
  2622                     new_task["Interval"] = ""
       
  2623                 if single is not None and interval is None:
       
  2624                     new_task["Triggering"] = "Interrupt"
       
  2625                 elif interval is not None and single is None:
       
  2626                     new_task["Triggering"] = "Cyclic"
       
  2627                 else:
       
  2628                     new_task["Triggering"] = ""
  2623                 new_task["Priority"] = str(task.getpriority())
  2629                 new_task["Priority"] = str(task.getpriority())
  2624                 tasks_data.append(new_task)
  2630                 tasks_data.append(new_task)
  2625                 for instance in task.getpouInstance():
  2631                 for instance in task.getpouInstance():
  2626                     new_instance = {}
  2632                     new_instance = {}
  2627                     new_instance["Name"] = instance.getname()
  2633                     new_instance["Name"] = instance.getname()