[File] DescText = "Unico S4000"; CreateDate = 08-30-2000; CreateTime = 09:20:13; ModDate = 01-27-2003; ModTime = 15:46:57; Revision = 3.2; [Device] VendCode = 30; VendName = "Unico, Inc."; ProdType = 12; ProdTypeStr = "Communications Adapter"; ProdCode = 1; MajRev = 1; MinRev = 4; ProdName = "Unico S4000"; Catalog = "321558"; Icon = "Unico_s4000.ico"; [Device Classification] Class1 = 1_RSNetWorx_Adapter; Class2 = ControlNet; [Port] Port2 = ControlNet_Redundant, "Port A", "20 F0 24 01",2; [Params] Param2 = 0, $ Shall be zero ,, $ no path, not accessible from network 0x0000, $ Descriptor 2,2, $ Data type and size (in bytes) "Input Size", $ Parameter name "Bytes", $ Units string "This is where you set the input data size. Input means from device -> controller", $ Help string 4,132,8, $ Min, Max, Default This size is +4 bytes for overhead ,,,,,,,,; Param3 = 0, $ Shall be zero ,, $ no path, not accessible from network 0x0000, $ Descriptor 2,2, $ Data type and size (in bytes) "Output Size", $ Parameter name "Bytes", $ Units string "This is where you set the output data size. Output means from controller -> device", $ Help string 0,128,4, $ Min, Max, Default (This is not +4 bytes) ,,,,,,,,; [Connection Manager] Connection1 = 0x04010002, $ trigger & transport $ 0-15 = supported transport classes (class 1) $ 16 = cyclic (1 = supported) $ 17 = change of state (0 = not supported) $ 18 = on demand (0 = not supported) $ 19-23 = reserved (must be zero) $ 24-27 = input only $ 28-30 = reserved (must be zero) $ 31 = client 0 (don't care for classes 0 and 1) 0x44240405, $ point/multicast & priority & realtime format $ 0 = O=>T fixed (1 = supported) $ 1 = O=>T variable (0 = not supported) $ 2 = T=>O fixed (1 = supported) $ 3 = T=>O variable (0 = not supported) $ 4-7 = reserved (must be zero) $ 8-11 = O=>T header (heartbeat) $ 12-15 = T=>O header (32 bit run/idle) $ 16-19 = O=>T point-to-point $ 20-23 = T=>O multicast $ 24-27 = O=>T scheduled $ 28-31 = T=>O scheduled ,Param3,, $ O=>T RPI,Size,Format ,Param2,, $ T=>O RPI,Size,Format ,, $ config part 1 (not used) ,, $ config part 2 (not used) "Read/Write words", $ connection name "", $ Help string "20 04 24 01 2C 01 2C 02"; $ read/write path 1_PLC5C_RTD_Format1 = 1_PLC5C_1794_Discrete_RTD_Format; Connection2 = 0x04010002, $ trigger & transport mask bit assignments (See Cnet Spec. Part 8, Table 8-19) $ $ bit Purpose (* indicates the selected option in this example) $ --- ------------------------------------------------------------------ $ Supported Transport Class (set only one of the following bits) $ 0 = Class 0, NULL $* 1 = Class 1, Duplicate Detect $ 2 = Class 2, Acknowledged $ 3 = Class 3, Verified $ 4 = Class 4, Non-blocking $ 5 = Class 5, Non-blocking, fragmented $ 6 = Class 6, Multicast, fragmented $ 7-15 = Reserved (must be zero) $ $ Supported Production Triggers (set only one of the following bits) $* 16 = Cyclic $ 17 = Change of State $ 18 = Application $ 19-23 = reserved (must be zero) $ $ Supported Transport Type (set only one of the following bits) $ 24 = Listen Only $ 25 = Input Only $* 26 = Exclusive Owner $ 27 = Redundant Owner $ 28-30 = reserved (must be zero) $ $ Client / Server Transport $ 31 = client = 0, server = 1 * This is ignored if class 1 transport selected (Bit 1 = 1) $ 0x44240405, $ Connection Parameters bit assignments (See Spec. Part 8, Table 8-20) $ $ bit Purpose $ --- ------------------------------------------------------------------ $ Set one or the other $* 0 = O->T fixed size supported $ 1 = O->T variable size supported $ $ Set one or the other $* 2 = T->O fixed size supported $ 3 = T->O variable size supported $ $ 4-5 = O->T # of bytes/slot in real-time data packet for adapter rack connections $ values *0, 1, 2, 3 = 1, 2, 4, 8 bytes respectively (if not rack adapter select 0) $ 6-7 = T->O # of bytes/slot in real-time data packet for adapter rack connections $ values *0, 1, 2, 3 = 1, 2, 4, 8 bytes respectively (if not rack adapter select 0) $ $ 8-10 = O=>T Real-time transfer format $ value 0 = Connection is all data and is modeless $ value 1 = Use zero data length packet to indicate idle mode $ value 2 = Reserved $ value 3 = Heartbeat $* value 4 = 32-bit Run/Idle header $ value 5-15 = reserved $ 11 = reserved (must be zero) $ $ 12-14 = T=>O Real-time transfer format (prefixed header) $* value 0 = Connection is all data and is modeless $ value 1 = Use zero data length packet to indicate idle mode $ value 2 = Reserved $ value 3 = Heartbeat $ value 4 = 32-bit Run/Idle header $ value 5-15 = reserved $ 15 = reserved (must be zero) $ $ O=>T Connection Type (Set only One of the following) $ 16 = NULL $ 17 = Multicast $* 18 = Point to Point $ 19 = Reserved (must be zero) $ $ T=>O Connection Type (Set only one of the following) $ 20 = NULL $* 21 = Multicast $ 22 = Point to Point $ 23 = Reserved (must be zero) $ $ O=>T Connection Priority (Set only one of the following) $ 24 = Low $ 25 = High $* 26 = Scheduled $ 27 = Reserved (must be zero) $ $ T=>O Connection Priority (Set only one of the following) $ 28 = Low $ 29 = High $* 30 = Scheduled $ 31 = Reserved (must be zero) $ , $ O=>T RPI - not specified so user can select any value >2ms Param3, $ Size - param3 defines the range of values. , $ Format (See Assem1 definition) , $ T=>O RPI - not specified so user can select any value >2ms Param2, $ Size - param2 defines the range of values , $ Format (See Assem2 definition) , $ config part 1 size (zero = not used) , $ config part 1 format , $ config part 2 size (zero = not used) , $ config part 2 format "Connection #2", $ connection name string "", $ Help string "20 04 24 01 2C 04 2C 05"; $ Path to the prod/cons object. The connection points must corellate to the $ instance number of the class specified in this string. Incorrect assignment $ will yield incorrect data flow, or failure to open the connection. $ 2C 04....where 04 is the CONSUMER instance number in SY_OBJ.C $ 2C 05....where 05 is the PRODUCER instance number in SY_OBJ.C 1_PLC5C_RTD_Format2 = 1_PLC5C_1794_Discrete_RTD_Format; $ this format specifier expects the following: $ O - T size: This value is device OUTPUT (consumer) data. $ Example: you want to send 10 bytes of data to the device. $ This CP value must be set to 10. $ $ $ $ T - O size: This value is device INPUT (producer) data = realtime input + R/I/STATUS Header (eg: 4 bytes). $ $ Example: you want to receive 6 bytes of realtime input from the device. $ This CP value must be set to 10 = 6 + 4 $ (realtime + R/I/STATUS) $ $ $ $ $ Reference chart for above EDS values and direct correlation to the CML 1.4R5 Adapter source code. $ $ File: SY_OBJ.C $ Function: SY_init( ) $ $ $ EDS | connection points $ Connection# | iInstance PRODUCE/CONSUME eAppDataAreaId iAppDataOffset iMaxSize $-------------+-------------------------------------------------------------------------------------- $ 1 | 1 C W 0 10 $ | 2 P R 0 6 $ | $ 2 | 4 C W 10 10 $ | 5 P R 6 6 $ |