-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCTUDCall.cs
More file actions
36 lines (33 loc) · 1.58 KB
/
CTUDCall.cs
File metadata and controls
36 lines (33 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System.Linq;
using TiaCodegen.Commands.Functions.Base;
using TiaCodegen.Enums;
using TiaCodegen.Interfaces;
namespace TiaCodegen.Commands.Functions
{
public class CTUDCall : SystemFunctionBlockCall
{
public CTUDCall(string instanceName,
IOperationOrSignal cd = null,
IOperationOrSignal r = null,
IOperationOrSignal ld = null,
IOperationOrSignal pv = null,
IOperationOrSignal qu = null,
IOperationOrSignal qd = null,
IOperationOrSignal cv = null,
string templateValue = "Int") : base("CTUD", instanceName, null)
{
Interface["CD"] = new IOperationOrSignalDirectionWrapper(cd, Direction.Input);
Interface["R"] = new IOperationOrSignalDirectionWrapper(r, Direction.Input);
Interface["LD"] = new IOperationOrSignalDirectionWrapper(ld, Direction.Input);
Interface["PV"] = new IOperationOrSignalDirectionWrapper(pv, Direction.Input);
Interface["QU"] = new IOperationOrSignalDirectionWrapper(qu, Direction.Output);
Interface["QD"] = new IOperationOrSignalDirectionWrapper(qd, Direction.Output);
Interface["CV"] = new IOperationOrSignalDirectionWrapper(cv, Direction.Output);
TemplateValueName = "value_type";
TemplateValueType = "Type";
TemplateValue = templateValue;
HasNoEn = true;
Children.AddRange(Interface.Values.Where(x => x.OperationOrSignal != null).Select(x => x.OperationOrSignal));
}
}
}