예제 #1
0
        private void btnSet_Click(object sender, EventArgs e)
        {
            var pcResponse          = byte.Parse(txtPcResponse.Text);
            var pcResponseDataBlock = new PcResponseDataBlock
            {
                Response = pcResponse
            };

            var result = _dummyPlcClient.SetPcResponse(in pcResponseDataBlock);

            if (!result)
            {
                MessageBox.Show("Unsuccessfull");
            }
        }
예제 #2
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            lock (_lock)
            {
                if (_dummyPlcClient.Connected)
                {
                    BackColor = Color.LightGreen;
                }
                else
                {
                    BackColor = Color.IndianRed;
                }

                try
                {
                    var result = _dummyPlcClient.GetPlcRequest(out PlcRequestDataBlock plcRequest);
                    if (result)
                    {
                        txtPlcRun.Text = plcRequest.PlcRun.ToString();
                    }
                    else
                    {
                        MessageBox.Show("Unsuccessfull");
                    }

                    var response = new PcResponseDataBlock
                    {
                        Order    = (short)plcRequest.PlcRequests[2].Order,
                        BoxId    = plcRequest.PlcRequests[2].BoxId,
                        Barcode  = plcRequest.PlcRequests[2].Barcode,
                        Response = 5,
                    };
                    _dummyPlcClient.SetPcResponse(in response);
                }
                catch (Exception ex)
                {
                    _logger.Error(ex.Message);
                }
            }
        }