解:(1)设A厂运送水泥$x$吨,则B厂运送水泥$(x+20)$吨。
根据题意,得$x+x+20=520,$解得$x=250。$
$\therefore x+20=270。$
$\therefore$ A厂运送水泥250吨,B厂运送水泥270吨。
(2)$\because$ 从A厂运往甲地$a$吨水泥,
$\therefore$ 从A厂运往乙地$(250-a)$吨水泥,从B厂运往甲地$(240-a)$吨水泥,从B厂运往乙地$(30+a)$吨水泥。
由题意,得$w=40a+35(250-a)+28(240-a)+25(30+a)=2a+16220。$
$\because$ 从B厂运往甲地的水泥最多为150吨,
$\therefore 240-a≤150,$解得$a≥90。$
$\therefore w$与$a$之间的函数解析式为$w=2a+16220(90≤ a≤240)。$
$\because 2>0,$$\therefore w$随$a$的增大而增大。
$\therefore$ 当$a=90$时,$w$取得最小值,此时$w=2×90+16220=16400。$
$\therefore$ 总运费最低的运送方案为从A厂运往甲地90吨水泥,运往乙地160吨水泥,从B厂运往甲地150吨水泥,运往乙地120吨水泥。