Hi Rex
SCL does not encourage the use of absolute addressing. Your mind-set should be bent much more towards symbolic handling of data. There is no equivalent in SCL to the P# ... notation. For many of the the tasks which would require a pointer in KOP or AWL (LAD or STL) you can use simple indexed addressing in SCL.
So, for example, to read/write a value in a list in a DB, give the DB a name, create an array with a name, and create an index with a name. Then you can write expressions like -
TestValue := "MyData".List[Index]
MyData is the symbolic name of the data block, List is the symbolic name of the array (which should be the same data type as TestValue), and Index is an integer index whose value you change to select the array number.
Obviously there may be occasions when you do require control of not just indexed addressing, but full indirect addressing including memory area, address, size etc. Here there is no alternative to using a POINTER or ANY declaration and populating the component parts of it with the required values. The Siemens web-site (
http://support.automation.siemens.com/) has an article, document ID 10625180, which explains how to create a function for manipulating the elements of an ANY pointer.
Regards
Ken