initial commit lets start

This commit is contained in:
Adrian Zuercher
2026-08-28 17:59:35 +02:00
commit 3ba5a189f3
48 changed files with 100075 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
package models
import (
"encoding/xml"
"plcopenxmlbuilder/utils"
"schema"
)
type Resourse struct {
XMLName xml.Name `xml:"resource"`
Name string `xml:"name,attr"`
Task []*Task `xml:"task"`
GlobalVars *GlobalVars `xml:"globalVars,omitempty"`
}
func (r *Resourse) AddTasks(dev *schema.Device) error {
for _, task := range dev.Tasks {
if err := utils.CheckKindOfTask(task.KindOfTask); err != nil {
return err
}
if err := utils.CheckIntervalUnit(task.IntervalUnit); err != nil {
return err
}
t, err := r.AddTask(task.Name, task.KindOfTask, task.IntervalUnit, task.Interval, task.Priority)
if err != nil {
return err
}
t.AddPouInstances(task)
}
return nil
}
func (r *Resourse) AddTask(name, kindOfTask, intervalUnit string, interval, priority int) (*Task, error) {
t := &Task{
Name: name,
Priority: priority,
}
t.SetInterval(interval)
err := t.AddAddData(kindOfTask, intervalUnit, interval)
if err != nil {
return nil, err
}
r.Task = append(r.Task, t)
return t, nil
}