Пример #1
0
        void startTransaction()
        {
            List <Byte> rs485packet = null;
            List <Byte> txPacket    = null;

            if (transactionQ.Count > 0)
            {
                TransactionInfo tInfo = transactionQ.Dequeue();


                rs485packet = rs485Driver.Packetize((byte)tInfo.deviceId, (byte)tInfo.command, tInfo.data);

                if (rs485packet != null)
                {
                    //txPacket = xbeeDriver.getTxPacket(tInfo.deviceId, rs485packet);
                    //byte[] txBuffer = txPacket.ToArray();
                    byte[] txBuffer = rs485packet.ToArray();
                    spDriver.Write(txBuffer, 0, rs485packet.Count);
                    //spDriver.WriteToPort(txBuffer);

                    #region TRACE_CODE
                    String traceString = DateTime.Now.ToString();
                    foreach (Byte b in txBuffer)
                    {
                        traceString += "0x" + b.ToString("x2") + " ";
                    }
                    traceString += Environment.NewLine;

                    _andonTrace.TraceInformation(traceString);
                    foreach (TraceListener l in _andonTrace.Listeners)
                    {
                        l.Flush();
                    }

                    #endregion
                }
            }
            transactionTimer.Start();
        }
Пример #2
0
        void startTransaction()
        {
            if (mode == MODE.MASTER)
            {
                List <Byte> rs485packet = null;
                List <Byte> txPacket    = null;

                byte curStation = (Byte)stations.Dequeue();

                rs485packet = rs485Driver.Packetize((Byte)0xFA, (Byte)AndonCommand.CMD_GET_STATUS, null);
                stations.Enqueue(curStation);


                if (rs485packet != null)
                {
                    txPacket = xbeeDriver.getTxPacket(curStation, rs485packet);
                    byte[] txBuffer = txPacket.ToArray();
                    //spDriver.WriteToPort(txPacket.ToArray());
                    spDriver.Write(txBuffer, 0, txPacket.Count);
                }
            }
            transactionTimer.Start();
        }