mirror of
https://github.com/evopro-ag/Sharp7Reactive.git
synced 2025-12-16 11:42:52 +00:00
Make CreateNotification for nonexistent variable fail with Exception
This commit is contained in:
@@ -85,8 +85,14 @@ public class Sharp7Plc : IPlc
|
|||||||
var disposeableContainer = multiVariableSubscriptions.GetOrCreateObservable(variableName);
|
var disposeableContainer = multiVariableSubscriptions.GetOrCreateObservable(variableName);
|
||||||
disposeableContainer.AddDisposableTo(disposables);
|
disposeableContainer.AddDisposableTo(disposables);
|
||||||
|
|
||||||
var observable = disposeableContainer.Observable
|
var observable =
|
||||||
.Select(bytes => S7ValueConverter.ConvertToType<TValue>(bytes, address));
|
// Directly read variable first.
|
||||||
|
// This will propagate any errors due to reading from invalid addresses.
|
||||||
|
Observable.FromAsync(() => GetValue<TValue>(variableName))
|
||||||
|
.Concat(
|
||||||
|
disposeableContainer.Observable
|
||||||
|
.Select(bytes => S7ValueConverter.ConvertToType<TValue>(bytes, address))
|
||||||
|
);
|
||||||
|
|
||||||
if (transmissionMode == TransmissionMode.OnChange)
|
if (transmissionMode == TransmissionMode.OnChange)
|
||||||
observable = observable.DistinctUntilChanged();
|
observable = observable.DistinctUntilChanged();
|
||||||
|
|||||||
Reference in New Issue
Block a user