…einen habe ich noch!
Eine etwas andere Aufgabenstellung, aber ähnlich vom Thema.
In der module.json habe ich folgendes eingetragen:
"parentRequirements": ["{E310B701-4AE7-458E-B618-EC13A1A6F6A8}"],
"childRequirements": [],
"implemented": ["{77B31ABB-18FA-4B91-BB63-E5B2AB5588F4}"],
Ich möchte den IPS-ModBus-Gateway als Parent meines Moduls nutzen.
Die Daten zu einen IPS-ModBus-Device sehen so aus:
Array
(
[ParentRequirements] => Array
(
[0] => {E310B701-4AE7-458E-B618-EC13A1A6F6A8}
)
[ChildRequirements] => Array
(
)
[Implemented] => Array
(
[0] => {77B31ABB-18FA-4B91-BB63-E5B2AB5588F4}
)
[Vendor] => ModBus
[Aliases] => Array
(
[0] => ModBus Device
)
[LibraryID] => {0945206A-47AA-4FDD-9093-99051E410E82}
[ModuleID] => {CB197E50-273D-4535-8C91-BB35273E3CA5}
[ModuleName] => ModBus Address
[ModuleType] => 3
)
Die des IPS-ModBus-Gateway so:
Array
(
[ParentRequirements] => Array
(
[0] => {79827379-F36E-4ADA-8A95-5F8D1DC92FA9}
)
[ChildRequirements] => Array
(
[0] => {77B31ABB-18FA-4B91-BB63-E5B2AB5588F4}
)
[Implemented] => Array
(
[0] => {018EF6B5-AB94-40C6-AA53-46943E824ACF}
[1] => {E310B701-4AE7-458E-B618-EC13A1A6F6A8}
)
[Vendor] =>
[Aliases] => Array
(
)
[LibraryID] => {0945206A-47AA-4FDD-9093-99051E410E82}
[ModuleID] => {A5F663AB-C400-4FE5-B207-4D67CC030564}
[ModuleName] => ModBus Gateway
[ModuleType] => 2
)
Mit einem „FakeSplitter“ habe ich auch hier ermitteln können, welche Daten bzw. Struktur der Gateway erwartet, umgesetzt sieht das dann so aus:
$this->SendDataToParent(json_encode(Array("DataID"=> "{E310B701-4AE7-458E-B618-EC13A1A6F6A8}", "Function" => $Function, "Address" => $Address, "Quantity" => $Quantity, "Data" => "")));
Zunächst getestet mit dem IPS-Device bekomme ich Daten zurück, jedoch nicht mit meinem Modul. Es dauert unerwartet lange (Skriptlaufzeit um die 3800ms), jedoch keine Fehlermeldungen aber auch im ReceiveData keinerlei Regungen…
Woran liegt das? Habe ich wieder irgendetwas verdreht?
Joachim