# PLC Programming Archive

B

#### Bob Welker

If there were to be such a beast that would be as good a way as any for creating the online viewable example.

Any native code for implementations for various processors could be referenced to download links (and when multiple files are needed, then a .ZIP archive would be created to hold them).

H

#### Hullsiek, William

I have not been following this thread, but for a while, PLC-Open was working on using the STEP Language for exchanging programming between IEC 1131-3 implementations. (Please no flames on
procedural vs. object vs. state languages).

According to me re-collection STEP enable an 80% - 85% portability.

William F. Hullsiek
Software Engineer

P

#### Petr Baum

I would suggest that this project should be coordinated with LinuxPLC project - they will have to tackle programming in ladder diagram and "'generic' ladder editor" looks to me like a missing piece of puzzle for both areas.

Petr

C

#### C. Thomas Wiesen

I would propose the following based on minimizing administration on the web site end, ease of use by users, and ease of submission.

Files are submitted to archive site in native formats supported by Web Master.
Documentation is submitted as a *.doc or *.txt format
The web master converts supported file formats to *.pdf format
It is the responsibility of submitters to provide *.pdf files of unsupported file formats
A simple questionnaire should be filled out by the submitter stating what processor, software version, equipment interfaced, etc. for use in sorting by users.
The web master would provide the *.pdf, native files, and any documentation for download by users.
Code could be sorted by the categories on the submittal questionnaire or by date.

This method keeps the submission process simple to maximize the number of submissions, keeps the administration process simple to be practical, and allows users as much usefulness as the submitter is willing to provide.

What do you think?

--
C. Thomas Wiesen
[email protected]

M

#### Michael Griffin

At 02:56 08/06/00 -0400, Bob Welker wrote:
<clip>
>One primary division might be generic vs. non-generic. It shouldn't be too
>tightly restrictive, else we'd end up with the divisions along manufacturer
>and specific PLC models for everything. For instance, most timer, counter,
>FIFO, etc. implementations are slightly different between manufacturers (and
>sometimes within PLC families), but (unless a very specific function, like
>the PLC-5 DDT function related in Mike's message) is used, then I'd still
>consider the ladder code generic, and capable of easy transposition to a
>different PLC.
<clip>
If things can be organised with links along the lines of web pages, then we might be able to have it both ways. Each sample could be linked to several different master pages.
For example, submission 'x' might be a demonstration of how to control a Bosch vertical pallet transfer unit using a Siemens S7-224 PLC. It could be linked to three separate pages for "conveyor", "Siemens", and "Bosch".
If we have a list of current categories, then when someone submits a sample, they could suggest which categories it should link to, together with a suitable title and summary.
I don't expect things will be perfectly organised, so we should provide a means of allowing people to easily browse around in various ways while they look for something. This will also let us just look around when we are not really sure what we are looking for.

**********************
Michael Griffin
[email protected]
**********************

B

#### Bob Welker

The more I play with this thing, the better it sounds to use Acrobat, and/or a combination of this, and the 'generic' editor concept.

Learned a couple of things about RSL (at least, true to the version I'm using - v2.57 ... things may have changed) that make we less than happy.

1. When I selected multiple rungs I'm able to paste them only as unformatted text (for the boolean listing). 2. If I copy single rungs then they can be 'paste special' into Word (to get the GIF) which is then pasted into the HTML editor (Frontpage, in this case).

This makes for tedious effort to put together a page, what with a GIF file for each ladder rung, and a ton of back n' forth ... not too bad
for small snippets, but would be a killer for doing an actual application-sized ladder program.

Went looking for the HTML print driver mentioned here, and came up dry ... saw references to it at a dozen or so pages the search engines hit on, but no download links (and MS Powertoys for 95
doesn't list it as part of that collection).

Would be willing to try it if I can get hold of a copy.

In any event, I'm going to do a dozen or so 'snippet' things using the above technique as an experiment, and to be used where I work as part of a PLC mini-seminar.

I've linked these 'new and improved' experimental pages to
http://www.ccomm.com/~users/rawelk/techteach/PLC/plc_sampler_index.htm

The look and feel is kind of icky yet ... but it's coming along.

A

#### Anthony de la Rosa

I just put a sample file to the test and it looks very good. If anyone is interested in seeing what the pdf output looks like, email me directly at [email protected]

anthony

T

#### Tanweer Ahmed

Why not put the codes in STL and make the life easy. I think all the PLC programmers can translate STL to Ladder or CSF. I agree that
the STL syntex in different platform is slightly different but can be understood easily. The codes can also be made platform independent like (If I write Joe's example in a platform independent
STL):

> | 1001 1002 0101 |
> +----| |----+----| |---------+----( )----+
> | | | |
> | | 0101 1003 |
> | +----| |----|/|--+
>

AND
(
OR I0101
AND NOT I1003
)
AND I0101
OUT Q2001

Say this statement list is equivalent to the above ladder.

Tanweer Ahmed
Phone: +9221-636 5519
Fax: +9221-568 2972
E-mail: [email protected]

M

#### Michael Griffin

At 01:19 08/06/00 -0500, C. Thomas Wiesen wrote:
>I would propose the following based on minimizing administration on the
<clip>
>Files are submitted to archive site in native formats supported by Web Master.
>Documentation is submitted as a *.doc or *.txt format
>The web master converts supported file formats to *.pdf format

I think perhaps we are putting the cart before the horse here. This file format makes an assumption of how we want the archive to appear to the user which I don't believe has been established yet.
Do we want the site to consist of:
1) A series of headings with download links to various files (click on the link to download a file and view it off line), or
2) A collection of linked web pages which show code samples and documentation directly, or
3) A combination of '1' and '2' ('1' for larger programs or samples, '2' for smaller ones).

Secondly, I believe that files should be submitted to the administrator directly in a form he can publish. There should be no requirement for him to prepare anything from original PLC (or other) files.

>It is the responsibility of submitters to provide *.pdf files of
>unsupported file formats

PDF is nice, but I don't have anything which can save or print to PDF format, and I don't believe we should require people to have to buy this. I am not aware of any PDF converters which are genuinely free. While the cost of this extra software probably wouldn't hurt me, I am sure that there are other people who don't have as much free cash to spend but certainly have ideas to contribute which are just as useful as mine.
I believe we should establish a method which allows someone to submit a universal format, but which doesn't require any software not
available for free or at low cost (other than whatever PLC software they may use to create the program in the first place).

I have used the following methods:
1) ASCII print to file (older DOS software only). Cost - zero if the software supports it.
2) Print to disk as a postscript file, then use 'Ghostscript' (a software package I downloaded off the internet) to convert to JPEG. Cost - ???? (I'm not sure if Ghostscript is intended to be free after the evaluation period, and I didn't pursue it further after I tried this out).
3) Print to paper, and then scan it in as a JPEG. Cost less than $100 for a scanner (nothing in my case, since I already had one). 4) Cut and paste between windows and save as a JPEG. This can be very difficult and tedious if the entire image you wish to show does not fit on one screen. Options 2, 3, 4 assume you are using Windows (or perhaps Linux). >A simple questionnaire should be filled out by the submitter stating what >processor, software version, equipment interfaced, etc. for use in sorting >by users. <clip> Yes this needs to be done. Also include author, date originally written, number of applications it has been used in, and a suggested list of subjects it should link to. If it was derived from another source (e.g. it is a re-write of an existing program from the archive), then that original source should be cited. "Tanweer Ahmed" wrote: <clip> >Why not put the codes in STL and make the life easy. I think all the >PLC programmers can translate STL to Ladder or CSF. I agree that >the STL syntex in different platform is slightly different but can be >understood easily. <clip> I don't think this is a good idea because: 1) Not every PLC supports STL, 2) The program may not *be* for a PLC - it might be for something else entirely, (e.g. a bar code reader, or an MMI panel), 3) The whole point of the particular submission may be to illustrate how to accomplish something using state charts or sequential function charts. Submitting it as STL (if this is even possible) may defeat the whole purpose. I believe that submissions should whenever possible be direct print-outs or reports or screen images from actual working programs from real machines. Samples that 'ought to work', but have never actually been tested in their current form would not have as much credibility. This is why I am not sure that the 'universal ladder editor' which has been suggested by several sources would necessarily be useful. ********************** Michael Griffin London, Ont. Canada [email protected] ********************** W #### Willy Smith At 03:55 PM 6/8/00 -0400, Tanweer Ahmed wrote: >Why not put the codes in STL and make the life easy. Tanweer and List, While this approach has some merit, there are some problems: 1) PLCs don't all use such a language, and may execute a ladder diagram differently from the IL representation. 2) Ladder Logic is appealing to some people because it is NOT text-based. More information is transmitted more quickly by a diagram than a listing of code. 3) There is some value in having the *original* code shown in its syntax, as the code then does not claim to be more than it is. "This code has been running on a Nacho PLC-1000 since 1993", followed by the printout (or PDF). 4) Complex functions or function blocks make #1 and #3 worse. Contacts and coils are one thing, even timers are not standardized among all PLC manufacturers. As far as generating PDF files goes, I found a third party PDF printer driver for 50 bucks on the web. Here is the site: www.zeon.com.tw/pdfdrive.htm You can download a sample version and try it. Willy Smith Numatico, S. A. Apartado 676-4005 San Antonio de Belén Costa Rica Tel +506.293.9943 Fax +1.413.332.0065 [email protected] www.numatico.com J #### Joe Jansen I took a look at this, and I agree that the output is beautiful! my only concern is the high amount of administration required to get files into this format. And if someone is using 'Bob's PLC's Inc" brand of processor, and doesn't have Adobe, they cannot submit. <brainstorming> I also agree with Jiri that if we do go with a generic ladder editor, it would be good to work with the LinuxPLC group, with one caveat: It needs to run under windows. Jiri, have you looked at Hugh Jack's code? I have a copy, but am unskilled enough in C that I would not be able to port it. Could you tell me how much work it would be? I still think that if we could get this running, and write up a bunch of import/export filters, we would be ahead. Anyone want to give an opinion on writing a ladder viewer/editor as a Java app/applet? Something that could embed on the page and display the code? Does anyone know if there is a freeware version of Adobe acrobat out there for generating the files? If it was available for download at one time for free from adobe, maybe we could get a copy of that download file and put it up on our site for other to download. This would solve the problem of not being able to generate the files in order to submit. Anthony, did you download your's or purchase? If it was a free download, could you post it somewhere we can get it, or does the EULA forbid? </brainstorming> --Joe Jansen S #### Steven Landau The problem with generic program archive is that alot of what we want to see is how someone tackled this problem with aother PLC. example: With AB SLC on a PID loop. It is good practice to: Scale PV eng unit to 0-16383 Scale SP eng unit to 0-16383 Clamp both so out of range doesn't crash PID loop. Enable bits Off/Manual/Auto Modes Copy raw output to sp for Bumpless Transfer Scale Output 0-100% Float for display purposes Scale Output X to Y to go to I/O card for output. Modicon Concept has it's own issues with setting up PID loops, as well as Mitsubishi FX. Each one has tricks and techniques which experience brings. This is the type of info which the list members are problaby looking for. Steve Landau VP Controls & Automation SPEC 92 Montvale Ave Stoneham MA 01890 Office: 781-438-3337 Fax: 781-438-5297 Cell: 617-908-9232 e-mail: [email protected] e-mail to pager: [email protected] (short messages only) P #### Petr Baum > PDF is nice, but I don't have anything which can save or print to >PDF format, and I don't believe we should require people to have to buy >this. I am not aware of any PDF converters which are genuinely free. While >the cost of this extra software probably wouldn't hurt me, I am sure that >there are other people who don't have as much free cash to spend but >certainly have ideas to contribute which are just as useful as mine. True, but most people can print postscript (e.g. postscript driver for HP laserjet printer) to file. This creates anyname.prn postscript file, which can be send (e-mailed) to single "conversion point", preferably to administrator directly. He can run anyname.prn file through "Acrobat Distiller" and convert to anyname.pdf. Conversion is very simple (automatic and in batch mode) and quite robust (more reliable than printing to pdf itself). Petr A #### Anthony Kerstens Actually, to really get the cart up front, we should ask what we expect to get from this. Here's my wish list. 1) Basic logic for the students/initiates. - simple faults - simple motor/valve/light/etc. control - basic PIDs 2) Examples of what not to do. - scan dependant examples - horror stories 3) Funky stuff - message/bar code handling routines. - advanced control (not patentable stuff) - PLC peculiar logic like network or module health, etc. - ways and reasons for I/O map arrangements for different issues. - high speed operation issues. - performance enhancements. 4) Troubleshooting. - patches, DLL's, scripts and workarounds. - logic to help electricians. This doesn't necessarily have to be a repository of logic and code. English pseudo code and mathematical equations are just as useful. Perhaps we could look back at the list archive and come-up with a list of past and present hot topics. Maybe this could a compendium of the actual list discussions with related notes. Anthony Kerstens P.Eng. J #### Joe Jansen -> At 01:19 08/06/00 -0500, C. Thomas Wiesen wrote: -> >I would propose the following based on minimizing -> administration on the -> <clip> -> >Files are submitted to archive site in native formats -> supported by Web Master. -> >Documentation is submitted as a *.doc or *.txt format -> >The web master converts supported file formats to *.pdf format -> -> I think perhaps we are putting the cart before the -> horse here. This -> file format makes an assumption of how we want the archive -> to appear to the -> user which I don't believe has been established yet. -> Do we want the site to consist of: -> 1) A series of headings with download links to -> various files (click -> on the link to download a file and view it off line), or -> 2) A collection of linked web pages which show code -> samples and -> documentation directly, or -> 3) A combination of '1' and '2' ('1' for larger -> programs or samples, -> '2' for smaller ones). -> I think that this will end up as an evolutionary process. I would like to start by simply having a list of programs and descriptions to follow links. As the site grows, catagories will make themselves apparent. -> Secondly, I believe that files should be submitted to the -> administrator directly in a form he can publish. There should be no -> requirement for him to prepare anything from original PLC -> (or other) files. -> -> >It is the responsibility of submitters to provide *.pdf files of -> >unsupported file formats -> -> PDF is nice, but I don't have anything which can -> save or print to -> PDF format, and I don't believe we should require people to -> have to buy -> this. I am not aware of any PDF converters which are -> genuinely free. per Willy Smith's post, I followed the link, www.zeon.com.tw/pdfdrive.htm and installed. This is a nag-ware PDF generator. I think that we can live with the watermark for those who do not want to register. We could include a link on the site to get this download file. Perhaps a deal could be worked with zeon to let us mirror the file. The EULA appears to permit this. I will follow up with them on this if others agree. Ken? Opinions? -> I have used the following methods: -> 1) ASCII print to file (older DOS software only). -> Cost - zero if the software supports it. -> 2) Print to disk as a postscript file, then use -> 'Ghostscript' (a -> software package I downloaded off the internet) to convert -> to JPEG. Cost - -> ???? (I'm not sure if Ghostscript is intended to be free after the -> evaluation period, and I didn't pursue it further after I -> tried this out). -> 3) Print to paper, and then scan it in as a JPEG. -> Cost less than ->$100 for a scanner (nothing in my case, since I already had one).
-> 4) Cut and paste between windows and save as a JPEG.
-> This can be
-> very difficult and tedious if the entire image you wish to
-> show does not fit on one screen.

I strongly dislike the idea of JPG files. although file size is small, if someone wants to include a large program, that is a really big picture, or a whole lot of small pictures. Administration would be easier with PDF.

->
-> Options 2, 3, 4 assume you are using Windows (or
-> perhaps Linux).
->
-> >A simple questionnaire should be filled out by the
-> submitter stating what
-> >processor, software version, equipment interfaced, etc. for
-> use in sorting by users.
-> <clip>
-> Yes this needs to be done. Also include author, date
-> originally
-> written, number of applications it has been used in, and a
-> suggested list of
-> subjects it should link to. If it was derived from another
-> source (e.g. it
-> is a re-write of an existing program from the archive), then
-> that original source should be cited.

Agree with all......

->
-> "Tanweer Ahmed" wrote:
-> <clip>
-> >Why not put the codes in STL and make the life easy. I think all the
-> >PLC programmers can translate STL to Ladder or CSF. I agree that
-> >the STL syntex in different platform is slightly different
-> but can be
-> >understood easily.
-> <clip>
-> I don't think this is a good idea because:
-> 1) Not every PLC supports STL,
-> 2) The program may not *be* for a PLC - it might be for
-> something else
-> entirely, (e.g. a bar code reader, or an MMI panel),
-> 3) The whole point of the particular submission may be to
-> illustrate how to
-> accomplish something using state charts or sequential
-> function charts.
-> Submitting it as STL (if this is even possible) may defeat
-> the whole purpose.
->
-> I believe that submissions should whenever possible be direct
-> print-outs or reports or screen images from actual working
-> programs from
-> real machines. Samples that 'ought to work', but have never
-> actually been
-> tested in their current form would not have as much
-> credibility. This is why
-> I am not sure that the 'universal ladder editor' which has
-> been suggested by
-> several sources would necessarily be useful.

Agree some more....

I guess the generic editor idea is losing some of it's appeal (in my opinion) since we have access to a PDF generator that, although nagging, is
free.

--Joe Jansen

A

#### Anthony de la Rosa

Granted we can't make people buy the acrobat maker but maybe, just maybe there are enough people on the list with the appropriate software and platform. I for one would gladly volunteer myself to do A-B RSLogix 5 and 500.

M

#### Michael Copelin

Ghostscript has the ability, using the 'PDFWrite' printer, to create pdf's from postscript files.
http://www.cs.wisc.edu/~ghost/
This is how I deliver my ladders to people without software.

J

#### Jiri Baum

Hello,

(I'm not on the list, so forgive me if this has already been covered.)

Jansen, Joe wrote:
> I took a look at this, and I agree that the output is beautiful! my only
> concern is the high amount of administration required to get files into
> this format. And if someone is using 'Bob's PLC's Inc" brand of
> processor, and doesn't have Adobe, they cannot submit.

> <brainstorming>

> I also agree with Jiri that if we do go with a generic ladder editor, it
> would be good to work with the LinuxPLC group,

I think that was Petr rather than me.

> with one caveat: It needs to run under windows. Jiri, have you looked at
> Hugh Jack's code?

I haven't looked at it, but I'd expect that making a neat Windows program out of anything would be a lot of work.

If the input is plain text, though, then it's portable anywhere with minimal fiddling.

Alternatively, store the contributions in the repository in plain text instruction-list format - perhaps under CVS - and have a bunch of scripts
that automatically convert it into PDF, GIF, text-step-ladder and whatever else people dream up in the future.

(Storing it as plain text instruction list would have quite a few advantages: machine-readable format, so a stepladder editor could directly
import the snippets; multiple download formats, automatically generated; version control. The disadvantage is that - unless the ladder software has a `save as text' function - somebody has to type it in manually, while all programs can print to pdf/postscript.)

> Anyone want to give an opinion on writing a ladder viewer/editor as a
> Java app/applet? Something that could embed on the page and display the
> code?

Hmm, it would almost be possible to display stepladder in HTML tables, with a few gifs for "NO contact", "NC contact", "coil" etc...

> Does anyone know if there is a freeware version of Adobe acrobat out
> there for generating the files?

Apparently, ghostscript can do that - but I've no idea how well.

Jiri
--
Jiri Baum <[email protected]>
Windows is not popular. Windows is *widespread*. Linux is popular.

D

#### Derek Decker

> I guess the generic editor idea is losing some of it's appeal (in my
> opinion) since we have access to a PDF generator that, although nagging, is
> free.

Ghostscript (http://www.cs.wisc.edu/~ghost/) is free, runs on a variety of platforms, produces PDFs, and can be set up as a 'Print To PDF'
printer in Windows, as well as other more capable platforms. I have it set up on the LAN here as a Network PDF creator, allowing all machines on the
LAN to produce PDFs at will from anywhere.

Comes with a nice install utility, too, and a PS/PDF previewer.

And it doesn't nag, or generate silly watermarks. And it's free, unless you're incorporating the code in a commercial product.

-Derek

--
+-------------------------------------------------------------------------+
| Derek J Decker [email protected] Decker Automation |
| Tel/Fax: 859/608-0041 585 Winterhill Lane |
| http://www.iglou.com/DeckerAutomation Lexington, KY 40509 |

B

#### Bob Welker

Tony,

>4) Troubleshooting.
> - patches, DLL's, scripts and workarounds.
> - logic to help electricians

Maybe someone knows how A-B, GE, et al. feels about linking into their sites? Not that this would necessarly be a good idea (a lot of these links probably get changed constantly, and hence increase rather than decrease overhead) but if not, might be useful for referencing the patches, DLLs, white papers, etc.

> This doesn't necessarily have to be a repository
> of logic and code. English pseudo code and
> mathematical equations are just as useful.

This is what makes me think that HTML makes the most flexible 'wrapper', per se. Fairly easy to evolve, and (depending on how automated the submission process gets) something like the way eBay gets embedded picture links from users might be considered for the 'non-standard' links.

> Anthony Kerstens P.Eng.
>
<clip>