C
There has been much discussion on this lately about hardware & IO interface boards. The following email has been formatted for a fix pitch font (includes ASCII art) so don't complain if the formatting looks "wierd". My opinion (which doesn't count for much as I only wield a soldering iron for the odd serial cable) is as follows: 1) LinuxPLC should have a common framework to allow interface development for connecting to ANY hardware vendor IO rack providing the protocol document is in the public domain (or at least obtained without signing any non-disclosure agreement). 2) We should not be attempting to replicate existing vendors solutions. This means we should spend effort designing and constructing IO boards. There are several reasons for this: 2.1) Safety certification - Impossible (or extremely difficult) to obtained for a GPL (or similar) hardware implementation 2.2) Economies of scale - How many people are prepared to make a 1,000 unit run of a IO module board? 2.3) The PLC market is rather cut-throat already (highly competitive). 2.X) EXCEPTION: Low IO count or specialised IO (eg: student introduction to PLCs) where "fool proof" safety is sufficient and "idiot proof" is not required. (with reference to email threads about "unknown powerup state of 8255" is not acceptable in an industrial environment). This area is largely ignored by 99% of the vendors. Curt Wuollet has raised the issue that there very few hardware vendors that offer ethernet support for PLCs at competative prices. I have several questions which need to be answered: 1) What advantages does ethernet give over serial? 1.1) Higher speed? 1.2) Longer cable runs? 1.3) Lower total cost? (including cabling) 1.4) "multi-threaded" access? (two machines simulataneously accessing one PLC) 2) What price are people prepared to pay for ethernet access? 2.1) Nothing? 2.2) US$100/PLC? 2.3) US$200/PLC? 2.4) US$400/PLC? I believe Curt may of touched on an area where LinuxPLC could spread like wildfire through the automation arena. Practically every IO device with a serial port appears to support MODBUS (some better than others). I have just done a web trawl looking at ethernet<=>serial interfaces, typically this involve terminal servers which have a port price varying from USD$100 to USD$400/serial port (32 to 4 port devices respectively). Hence I ruled out these devices almost immediately (although Shiva does appear to have a relatively cheap single port device, since their acquisition by Intel this device has vanished from the face of the internet). I looked around for other solutions, I came across print servers which support bi-directional parallel ports. There were a couple of print servers (notably 3 port devices, 2P+1S) which supported serial printers. There was a lack of information whether the serial port was bi-directional. If a cheap bi-directional parallel port<=>serial convertor exists then it might be possible to use LinuxPLC as a "generic" MODBUS-TCP <=> MODBUS-Serial convertor. The following table is some pricing of network printservers: Unit Price Port Price Netgear 2 port USD$122 USD$61 Netgear 3 port USD$200 USD$67 DLink 2+1 port USD$154 USD$77 [1] Netcomm 3 port USD$232 USD$78 Netcomm 1 port USD$92 USD$92 DLink 1 port USD$116 USD$116 HP JD-170x 1 port USD$144 USD$144 [1] 2 Parallel + 1 Serial, assuming serial port is uni-directional. If serial port is bi-directional then it makes the DLink product very attractive. [2] All prices based on Australian web-sites converted to USD, hence prices will vary from country to country. [3] Netcomm => http://www.netcomm.com.au/ On to the next part of the problem: Parallel to serial convertor Black Box USD$119 DataPro SXP325-256 USD$119 Pacific Custom Cable USD$68 Patton 2030 USD$??? (not listed) [1] CableXpress USD$79 [1] http://www.patton.com/, huge range of serial convertors It appears that the interface hardware will be around USD$130 per port. I suspect that it could be done for less... Personally I believe the above prices for convertors are twice what they should be. Now to put the whole thing together: +-----+ +-----+ +-----+ +-----+ | P C | | P C | | P C | | P C | +--+--+ +--+--+ +--+--+ +--+--+ | | | | --+---------------+-------+-------+---------------+-- | Ethernet / MODBUS-TCP | +-------------+--------------+ | LinuxPLC MODBUS-TCP Driver | +-------------+--------------+ | +-------------+--------------+ | LinuxPLC Core Libraries | +-------------+--------------+ | +---------------+----------------+ | LinuxPLC MODBUS-Serial Driver | +---------------+----------------+ | +---------------+----------------+ | UNIX socket to TCP-IP socket | | process (glorified pipe) | +---------------+----------------+ | | Ethernet/TCP-IP ------+-------------------+-------------------------- | +----+----+ | Print | | Server | MODBUS-Serial +-+-----+-+ | | | +-----------------------+ \/ +-------+ | +----+ IEEE 1284 <-> RS-232C +-----+ PLC | | +-----------------------+ +-------+ | | +-----------------------+ +-------+ +----------+ IEEE 1284 <-> RS-232C +-----+ PLC | +-----------------------+ +-------+ Feel free to comment, critise or flame the above idea. I am attempting to find a niche area in the current PLC market where LinuxPLC could thrive. Anyway, thats my 5 cents (2 cent coins have been withdrawn from circulation in Australia, worth about USD$0.02). Comments Curt? David Campbell _______________________________________________ LinuxPLC mailing list [email protected] http://linuxplc.org/mailman/listinfo/linuxplc