コード例 #1
0
        public void StructObservable()
        {
            // Create an observable for a PLC-updated variable
            var observable = client.ObservableFor <MyPlcStruct>("MAIN.var5", 100);

            var observer = new TestObserver <MyPlcStruct>();

            observable.Subscribe(observer);

            Assert.True(observer.HasReceivedValue());
        }
コード例 #2
0
        public void InitialValueAvailableWithoutChange()
        {
            // Create an observable for a variable that is not updated by the PLC program
            var observable = client.ObservableFor <short>("MAIN.var3", 100);

            var observer = new TestObserver <short>();

            observable.Subscribe(observer);

            Assert.True(observer.HasReceivedValue());
        }
コード例 #3
0
        public void ObservableCreatedOnSubscribeError()
        {
            // Create an observable for a non-existing variable
            var observable = client.ObservableFor <short>("MAIN.varNonExist", 100);

            var observer = new TestObserver <short>();

            observable.Subscribe(observer);

            Assert.True(observer.HasReceivedError());
        }
コード例 #4
0
ファイル: WriteTests.cs プロジェクト: lemanhtrung/TwinCatRx
        public void StringValueWritten()
        {
            // Create an observable for a PLC-updated variable
            client.Write("MAIN.var2", "abc");
            var plcVar = client.ObservableFor <string>("MAIN.var2", 100);

            var observer = new TestObserver <string>();

            plcVar.Subscribe(observer);

            client.Write("MAIN.var2", "abcdef");

            Assert.True(observer.HasReceivedValue());
            Assert.Equal("abcdef", observer.LastReceivedValue);
        }
コード例 #5
0
ファイル: WriteTests.cs プロジェクト: lemanhtrung/TwinCatRx
        public void ValueWritten()
        {
            // Create an observable for a PLC-updated variable
            client.Write <short>("MAIN.var3", 2);
            var plcVar = client.ObservableFor <short>("MAIN.var3", 100);

            var observer = new TestObserver <short>();

            plcVar.Subscribe(observer);

            client.Write <short>("MAIN.var3", 3);

            Assert.True(observer.HasReceivedValue());
            Assert.Equal(3, observer.LastReceivedValue);
        }
コード例 #6
0
        public void ValueNotWrittenAfterUnsubscribed()
        {
            // Reset
            client.Write <short>("MAIN.var3", 2);

            // Create an observable for a PLC-updated variable
            var plcVar       = client.ObservableFor <short>("MAIN.var3", 100);
            var observer     = new TestObserver <short>();
            var subscription = plcVar.Subscribe(observer);

            // Push values onto the observable
            var subject = new Subject <short>();

            client.StreamTo("MAIN.var3", subject);

            subscription.Dispose();
            subject.OnNext(3);

            Assert.False(observer.HasReceivedValue());
        }
コード例 #7
0
        public void ValueWritten()
        {
            // Reset
            client.Write <short>("MAIN.var3", 2);

            // Create an observable for a PLC-updated variable
            var plcVar   = client.ObservableFor <short>("MAIN.var3", 100);
            var observer = new TestObserver <short>();

            plcVar.Subscribe(observer);

            // Push values onto the observable
            var subject = new Subject <short>();

            client.StreamTo("MAIN.var3", subject);

            subject.OnNext(3);

            Assert.True(observer.HasReceivedValue());
            Assert.Equal(3, observer.LastReceivedValue);
        }
コード例 #8
0
ファイル: WriteTests.cs プロジェクト: lemanhtrung/TwinCatRx
        public void StructValueWritten()
        {
            var var6 = "MAIN.var6";

            // Reset
            client.Write(var6, new MyPlcStruct {
                myBool = false, myInt = 0
            });

            var plcVar = client.ObservableFor <MyPlcStruct>(var6, 100);

            var observer = new TestObserver <MyPlcStruct>();

            plcVar.Subscribe(observer);

            var myPlcStruct = new MyPlcStruct {
                myBool = true, myInt = 1
            };

            client.Write(var6, myPlcStruct);

            Assert.True(observer.HasReceivedValue());
            Assert.Equal(myPlcStruct, observer.LastReceivedValue);
        }