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
+43
View File
@@ -0,0 +1,43 @@
package builders
import (
"encoding/xml"
"plcopenxmlbuilder/models"
"schema"
)
type Twincat3Builder struct {
}
func NewTwincat3Builder() *Twincat3Builder {
return &Twincat3Builder{}
}
func (tc *Twincat3Builder) Marshal(s *schema.Project) ([]byte, error) {
plcopenxml := models.NewPLCopenXML()
proj := plcopenxml.AddProject()
proj.AddFileHeader(s.Information.CompanyName, s.Information.ProductName, s.Information.Version)
proj.AddContentHeader(s.ProjectName)
app := proj.AddApplication(models.URL_PLCOPENXML, models.HANDLE_IMPLEMENTATION)
switch s.GenerateType {
//PLC
case 0:
err := app.AddResources(s)
if err != nil {
return nil, err
}
//Application
case 1:
//Files
case 2:
}
content, err := xml.MarshalIndent(plcopenxml.Project, " ", " ")
content = append([]byte(xml.Header), content...)
if err != nil {
return nil, err
}
return append([]byte(xml.Header), content...), nil
}