[Visual-devel] Re: [MAT-devel] visual PLC drivers
Status: Alpha
Brought to you by:
lettoz
|
From: Thomas H. <Tho...@we...> - 2004-02-12 15:43:21
|
mat...@li... schrieb am 12.02.04 14:57:28: Hello, >Jiri: > >as far as visual is concerned, what's the situation with MatPLC taking > >advantage of visual's PLC drivers=3F Can that be done with the existing > > code, >Thomas Hergenhahn: >> I don't know whether this can be done with the existing code in mat as,= I >> did not download recent code for quite a while. But I also think this i= s >> not the way to go: The drivers are shared objects, but they heavily rel= y on >> VISUAL's "infrastructure". >Right. It just seems a duplication to have separate drivers in the two=20 >projects... >> sequences) to and from the PLCs and to close the connection. >I think we have libnodave on our to-do list, but nobody's got around to i= t=20 >yet. (Unless you'd be willing to interface it to the MatPLC=3F) Ok, I consider this. >> See also my remarks on this subject in: >> http://www.control.com/1026183428/index=5Fhtml >Yeah, that whole thread is interesting. Getting a unified driver interfac= e=20 >would be very good. >> I should like to suggest that you might use these functions to interfac= e >> with matPLC. For VISUAL, I plan to modify PLC drivers in a way that the= y >> rely on library routines providing above described functionalty. >> This means also that I'm prepared to provide the protocols for the othe= r >> PLC families supported by VISUAL in similar libraries. My problem is th= at I >> do not have different PLCs from each manufacturer to testwith. >The other possibility would be to migrate all the drivers to one project = or=20 >the other, and interface the two together.=20 I don't think so. What I tried to say in the above mentioned thread on con= trol.com and what I tried=20 in designing the interface of libnodave is to design it for general purpos= e useful to many more=20 projects. >For instance, if the drivers were=20 >migrated to the MatPLC, the VISUAL server would link against the matplc=20 >library instead of loading the PLC drivers. In VISUAL it is not THE library, but shared objects for each PLC type, bec= ause most users will not=20 need more than one while the total number of supported PLCs may (hopefully= ) reach hundreds=20 (Seeing the lists of other SCADA vendors...). >(The MatPLC points are named rather than having a dev/subdev/area/offset=20 >structure, This structure doesn't reflect VISUAL's side, but is meant as a superset o= f the supported PLC's=20 addressing scheme. In addition to these items, there are an area number an= d a transport method. "device" one of multiple physical units on a common interface GE Fanuc: SNP address Allen Bradley: Data Highway node number Siemens: MPI address modBus: not used, possibly IP address "Subdevice" would address a part(rack,slot) in the device. Not yet used =3F modBus: modBus unit ID "Area " addresses a type of memory where addresse begin from start: GE Fanuc: M,R,AI,AQ etc. memory areas Allen Bradley: Area type is (N,F,...) but is not really evaluated. Siemens: Data , Flags, or Input/Output, modBus: not used "Area number" GE Fanuc: not used Allen Bradley: File number Siemens: Data block number in case of data. modBus: not used "Transport method" GE Fanuc: "R" for read or "W" for write Allen Bradley: A valid combination of CMD and FNC codes, e.g. "0xF 0xA2" Siemens: "R" for read or "W" for write. modBus: codes 3,4,15,16 if I remember right. Ok, they determine areas her= e also (registers, input=20 registers) but its easier like this, because the library doesn't need to k= now about them. > but otherwise it's fairly similar to your proposal. There's a=20 >couple of extra functions to ensure that a bunch of values all come from = the=20 >same scan and to let the library limit your scan rate, but that's it. All= up,=20 >it's seven functions to call.) >Possibility three is the DAIS thing, which is pretty much the equivalent = of=20 >OPC, but it's a bit heavy-weight for our purposes. Eventually we'll need = DAIS=20 >anyway, but for communicating over the network, not for local interface. I don't know that. Thomas =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F Extra-Konto: 2,50 %* Zinsen p. a. ab dem ersten Euro! Nur hier mit 25 Euro-Tankgutschein & ExtraPr=E4mie! https://extrakonto.web.de/=3Fmc=3D021110 |