static void ReadCallBack(IntPtr usrPtr, ref S7Server.USrvEvent uevent, int size) { Console.WriteLine(Server.EventText(ref uevent)); Console.WriteLine("Code={0}, Params={1},{2},{3},{4}, RetCode={5}", uevent.EvtCode, uevent.EvtParam1, uevent.EvtParam2, uevent.EvtParam3, uevent.EvtParam4, uevent.EvtRetCode); }
private void UpdateLogTimer_Tick(object sender, EventArgs e) { try { var form = (TextBox)this.tabDisplay.TabPages[0].Controls[0]; if (form.Lines.Count() > 200) { form.Clear(); } var eventLog = new S7Server.USrvEvent(); if (this.m_Server.PickEvent(ref eventLog)) { form.AppendText(this.m_Server.EventText(ref eventLog) + Environment.NewLine); //var evtTime = Event.EvtTime; //var evtSender = Event.EvtSender; //var evtCode = Event.EvtCode; //var cvtRetCode = Event.EvtRetCode; //var evtParam1 = Event.EvtParam1; //var evtParam2 = Event.EvtParam2; //var evtParam3 = Event.EvtParam3; //var evtParam4 = Event.EvtParam4; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
static void EventCallback(IntPtr usrPtr, ref S7Server.USrvEvent Event, int Size) { try { var msg = Server.EventText(ref Event); System.Console.WriteLine(msg); } catch (Exception ex) { Log.Logger.ExceptionLog(ex); } }
private static S7Server.TSrvCallback TheReadCallBack; // <== Static var containig the callback static void EventCallback(IntPtr usrPtr, ref S7Server.USrvEvent Event, int Size) { Console.WriteLine("Event Callback "); if (Event.EvtCode.Equals(S7Server.evcDataRead)) { Console.WriteLine("Sent data to client."); } if (Event.EvtCode.Equals(S7Server.evcDataWrite)) { Console.WriteLine("Received data from client."); HexDump(DB1, DB1.Length); } }
//private static S7Server.TSrvCallback TheReadCallBack; static void EventCallBack(IntPtr usrPtr, ref S7Server.USrvEvent uevent, int size) { Console.WriteLine(Server.EventText(ref uevent)); Console.WriteLine("Code={0}, Params={1},{2},{3},{4}, RetCode={5}", uevent.EvtCode, uevent.EvtParam1, uevent.EvtParam2, uevent.EvtParam3, uevent.EvtParam4, uevent.EvtRetCode); if (uevent.EvtCode == S7Server.evcDataWrite) { PrintRWEvent(ref uevent); } else if (uevent.EvtCode == S7Server.evcDataRead) { PrintRWEvent(ref uevent); } }
static void PrintRWEvent(ref S7Server.USrvEvent uevent) { StringBuilder builder = new StringBuilder(); if (uevent.EvtCode == S7Server.evcDataRead) { builder.Append("[ READ ] "); } else if (uevent.EvtCode == S7Server.evcDataWrite) { builder.Append("[ WRITE ] "); } else { return; } switch (uevent.EvtParam1) { case S7Server.S7AreaCT: builder.Append("Area: CT, "); break; case S7Server.S7AreaDB: builder.Append("Area: DB" + uevent.EvtParam2 + ", "); break; case S7Server.S7AreaMK: builder.Append("Area: MK, "); break; case S7Server.S7AreaPA: builder.Append("Area: PA, "); break; case S7Server.S7AreaPE: builder.Append("Area: PE, "); break; case S7Server.S7AreaTM: builder.Append("Area: TM, "); break; } builder.Append(string.Format("Start: {0}, Size: {1}", uevent.EvtParam3, uevent.EvtParam4)); Console.WriteLine(builder.ToString()); }
public MainForm() { InitializeComponent(); Server = new S7Server(); Event = new S7Server.USrvEvent(); // Share some resources with our virtual PLC Server.RegisterArea(S7Server.srvAreaTM, // We are registering a DB 1, // Its number is 1 (DB1) ref DB1, // Our buffer for DB1 DB1.Length); // Its size // Do the same for DB2 and DB3 Server.RegisterArea(S7Server.srvAreaDB, 2, ref DB2, DB2.Length); Server.RegisterArea(S7Server.srvAreaDB, 3, ref DB3, DB3.Length); HexDump(DB1_Box, DB1, DB1.Length); HexDump(DB2_Box, DB2, DB2.Length); HexDump(DB3_Box, DB3, DB3.Length); LogTimer.Enabled = true; }
static void Main(string[] args) { System.Console.Out.WriteLine("S7 Server starting up"); Event = new S7Server.USrvEvent(); Srv = new S7Server(); Srv.RegisterArea(S7Server.srvAreaDB, // We are registering a DB 1, // Its number is 1 (DB1) DB1, // Our buffer for DB1 DB1.Length); // Its size TheEventCallBack = new S7Server.TSrvCallback(EventCallback); TheReadCallBack = new S7Server.TSrvCallback(ReadEventCallback); Srv.SetEventsCallBack(TheEventCallBack, IntPtr.Zero); Srv.SetReadEventsCallBack(TheReadCallBack, IntPtr.Zero); Srv.EventMask = Srv.EventMask & 1; // Mask 00000000 Srv.EventMask = Srv.EventMask | S7Server.evcDataRead; Srv.EventMask = Srv.EventMask | S7Server.evcDataWrite; int Error = Srv.Start(); if (Error == 0) { Console.WriteLine("Press ESC to stop"); do { while (!Console.KeyAvailable) { while (Srv.PickEvent(ref Event)) { Console.Out.WriteLine(Srv.EventText(ref Event)); } } } while (Console.ReadKey(true).Key != ConsoleKey.Escape); Srv.Stop(); } System.Console.Out.WriteLine("Enter any key to quit"); System.Console.ReadKey(); }
void EventCallback(IntPtr usrPtr, ref S7Server.USrvEvent Event, int Size) { var msg = Server.EventText(ref Event); Log.Logger.TraceLog(msg); }
static void ReadEventCallback(IntPtr usrPtr, ref S7Server.USrvEvent Event, int Size) { Console.WriteLine(Server.EventText(ref Event)); }
public Simulator() { InitializeComponent(); server = new S7Server(); ServerEvent = new S7Server.USrvEvent(); Action <string, int, int, int> add_ctrl = (name, db_nr, index, unit_nr) => { var ctrl = new SingleController() { Name = name, DbNumber = db_nr, DBxx = DBxx[index] }; ctrl.Dock = DockStyle.Fill; ctrl.UnitNumber = unit_nr; ctrl.NewLogLine += (s, e) => AddLogLine(e); ctrl.CarrierMoves = (cnr, bridge, xval) => { foreach (Control ctl in tabs.Controls) { SingleController sc = (SingleController)ctl.Controls[0]; sc.NewCarrierPos(cnr, bridge, xval); } }; ctrl.TrolleyMoves = (tnr, trolley, lift, yval, active) => { foreach (Control ctl in tabs.Controls) { SingleController sc = (SingleController)ctl.Controls[0]; sc.NewTrolleyPos(tnr, trolley, lift, yval, active); } }; ctrl.SendMessageToMain = (message, msg, br, tr, li, te) => { foreach (Control ctl in tabs.Controls) { SingleController sc = (SingleController)ctl.Controls[0]; sc.MessageFromOtherUnit(ctrl.Name, message, msg, br, tr, li, te); } }; server.RegisterArea(S7Server.srvAreaDB, db_nr, ref DBxx[index], DBxx[index].Length); TabPage tp = new TabPage() { Text = name }; tp.Controls.Add(ctrl); tabs.Controls.Add(tp); ctrl.Init(); }; add_ctrl("Main cabinet", 159, 9, 10); add_ctrl("Carrier 1", 150, 0, 31); add_ctrl("Carrier 2", 151, 1, 32); add_ctrl("Trolley 1", 152, 2, 21); add_ctrl("Trolley 2", 153, 3, 22); add_ctrl("Trolley 3", 154, 4, 23); add_ctrl("IO table 1", 155, 5, 11); add_ctrl("IO table 2", 156, 6, 12); add_ctrl("IO table 3", 157, 7, 13); EventTimer.Enabled = true; TxtIP.Text = GetDefaultIp(); StartBtn_Click(this, null); btnFaster_Click(this, null); btnFaster_Click(this, null); }
static void ReadEventCallback(IntPtr usrPtr, ref S7Server.USrvEvent Event, int Size) { Console.WriteLine("ReadEvent Callback"); }