Example #1
0
        private static void Syncdbus()
        {
            while (true)
            {
                if (dbusThread.exitEvent.WaitOne(Dbus.Cycle))
                {
                    break;
                }
                int AgvNum;

                #region AGV1
                AgvNum = 1;
                if (UdpSever.EndPointArray[AgvNum] != null)
                {
                    //Sever => AGV 1
                    Dbus.SetRegister(AgvNum, 1);

                    //PLC    => AGV
                    //56 -60 => 26-30
                    //更新Modbus数据到Dbus
                    UpdateModbusToDbus(AgvNum, 56, 26, 5);
                    //设置到AGV
                    Dbus.SetRegister(AgvNum, 26, 30);

                    //AGV    => PLC
                    //20 -25 => 50-55
                    //更新Dbus数据到Modbus
                    UpdateDbusToModbus(AgvNum, 20, 50, 6);
                    //设置到Modbus
                    Profinet.SetRegister(50, 55);
                }
                #endregion

                #region AGV2
                //Sever => AGV 1
                AgvNum = 2;
                if (UdpSever.EndPointArray[AgvNum] != null)
                {
                    Dbus.SetRegister(AgvNum, 1);
                    //PLC    => AGV
                    //67 -71 => 37-41
                    //更新Modbus数据到Dbus
                    UpdateModbusToDbus(AgvNum, 67, 37, 5);
                    //设置到AGV
                    Dbus.SetRegister(AgvNum, 37, 41);

                    //AGV    => PLC
                    //31 -36 => 61-66
                    //更新Dbus数据到Modbus
                    UpdateDbusToModbus(AgvNum, 31, 61, 6);
                    //设置到Modbus
                    Profinet.SetRegister(61, 66);
                }
                #endregion
            }
        }
Example #2
0
	void wwsig(WvDbusWriter w, Dbus.Field c, string sig, string val)
	{
	    w.Write((byte)c);
	    w.WriteSig(sig);
	    w.WriteSig(val);
	}
Example #3
0
	void wwu(WvDbusWriter w, Dbus.Field c, string sig, uint val)
	{
	    w.Write((byte)c);
	    w.WriteSig(sig);
	    w.Write(val);
	}